樱桃爸爸 2021-05-08 13:33 采纳率: 100%
浏览 42
已结题

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

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

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

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

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

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

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

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

  • 写回答

4条回答 默认 最新

  • benbenli 2021-05-08 14:10
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月12日
  • 已采纳回答 10月12日