之前发过一个帖子JAVA socket和易语言远程服务通信,发现有问题,现重新发帖,贴上源码给需要的人 原帖地址:https://bbs.125.la/forum.php?mod=viewthread&tid=14411164&extra= 经过几天测试,发现有BUG,数据长度超过一定长度服务器就会收不到数据,主要原因还是没有理解到远程通讯中间几个0是干嘛用的, 经过测试才发现,原来其中4为都是代表的数据长度,每一位最大值是255,所以重新分析发现, 数据长度实际值是“数据长度+20+数据长度整数位数”,然后在把计算出来的数据长度保存到一个长度为4的字节集中, 最后终于通过测试,发送超过1000字节的数据和1W以上的数据都测试没有问题,
[size=1pc]详见附件,顺便把易语言的测试代码也附上去(这代码就是原分析远程服务帖子上的代码改的,主要拿来测试) [size=1pc]
[size=1pc]PS:文件传输我没测试过,中文传输我才用的base64编码后再传输,直接传中文会掉数据,不知道什么原因,也不想分析了,猜测应该事还有4个补位的0 在起作用,但纯属于猜测,因为我的目的达到了,如果官方能功能远程服务是怎么封装的就不会有这么多事了 下载链接:https://t00y.com/file/20110282-443107954
|