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