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

求助 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日

悬赏问题

  • ¥20 怎么在stm32门禁成品上增加记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 解riccati方程组