使用 NSInputStream 时遇到问题。我有连接到服务器的客户端应用程序,然后服务器将开始通过 TCP 重复向我的客户端应用程序发送消息,大约每秒 1 条消息。服务器只是向客户端广播消息,消息是 xml 格式。服务器将消息作为一个数据包发送。
现在的问题是,当我从 NSInputStream 读取字节时,数据被截断,这意味着我不时收到 2 个单独的数据(部分 xml)响应,而不是接收 1 个完整的消息。我无法调试,因为当我从 NSInputStream 读取数据字节时它已经发生了。
我使用 Wireshark 分析我收到的每个数据包,当它发生时数据也被截断,因为 TCP 将部分数据重新传输到我的客户端。我试图记录每个部分数据字节,部分数据的总和始终在 1600 字节左右。
我不知道他们是如何设计和实现服务器端的,但我知道有很多人连接到该服务器并不断从中获取广播消息。
有人遇到这个问题吗?任何人都可以帮忙吗?数据是否可能超过最大大小并被拆分?