八哥吃瓜群

吃瓜网是一个坐等吃瓜群众的在线吃瓜网站平台,网站主要分享生活中各种吃瓜事件,用坐等吃瓜的状态认识世界,看一个不一样的世界。

之前发过一个帖子JAVA socket和易语言远程服务通信,发现有问题,现重新发帖,贴上源码给需要的人

原帖地址:https://bbs.125.la/forum.php?mod=viewthread&tid=14411164&extra=

经过几天测试,发现有BUG,数据长度超过一定长度服务器就会收不到数据,主要原因还是没有理解到远程通讯中间几个0是干嘛用的,

经过测试才发现,原来其中4为都是代表的数据长度,每一位最大值是255,所以重新分析发现,

数据长度实际值是“数据长度+20+数据长度整数位数”,然后在把计算出来的数据长度保存到一个长度为4的字节集中,

最后终于通过测试,发送超过1000字节的数据和1W以上的数据都测试没有问题,

JAVA socket与易语言远程服务通信添加头2JAVA socket与易语言远程服务通信添加头2

详见附件,顺便把易语言的测试代码也附上去(这代码就是原分析远程服务帖子上的代码改的,主要拿来测试)

JAVA socket与易语言远程服务通信添加头2

PS:文件传输我没测试过,中文传输我才用的base64编码后再传输,直接传中文会掉数据,不知道什么原因,也不想分析了,猜测应该事还有4个补位的0在起作用,但纯属于猜测,因为我的目的达到了,如果官方能功能远程服务是怎么封装的就不会有这么多事了

发表评论