求助 python json服务端与客户端之间传送出错

问题描述:

我在一台电脑上运行服务端和客户端,成功。但把客户端放到另外一台电脑上的安卓模拟器里,就出错。我传送的只是一些文字和数字而已,没有特殊字符。

我把服务端根据算法生成的文件变成JSON文件,切成1024大小,分多次发送。

当8次发送的时候(一个小点的数据流),完全正常。当13次发送的时候(另外一个大一点的数据流),就出现故障了。

adb现在乱码,看不到接收到的JSON是怎样的,但根据没乱码之前的经验,应该是不完整的。

我在接收recv这块,做的是while循环,当收到的数据为0的时候,则中断接收。我设定的是recv(20480),正常的那个是接收了2次(服务端发送了8次 1024),有故障的那个是接收了3次(服务端发送了13次1024)。我在客户端设置了 RECV_BUF_SIZE = 204800。

没有做切片发送的时候,做了尾标识方法的接收方法,但也不好使。

请问这是什么问题,该如何解决?

我觉得问题在于:当收到的数据为0的时候,则中断接收。

同一太机器上传输速度不是问题。不同机器,数据量大的时候,传输速度慢。服务端很又可能刚接受一帧数据马上再接受时还没有数据过来,返回0了。应该以别的方式结束接受。

即使是局域网,两台机器之间通信比同一台机器上进程间通信慢无数倍

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y