我的iOS应用需要套接字通信。我正在关注this Ray Wenderlich教程设置输入和输出流。我使用的服务器是Twisted。我的应用程序需要发送和接收由外部事件(如陀螺仪数据)生成的快速数据突发。它以JSON字符串的形式发送/接收数据。在很大程度上,它非常像一个实时的消息聊天应用程序,但发送和接收非常快,并且爆发。
现在我知道流不会发送消息,而是一个接一个地发送所有内容。但是我在发送数据时发现的这个事情非常快。模拟器的输出流,即使它在任何情况下都非常快速地向iPhone发送数据,也会以消息方式发送数据。并且服务器将每个发送命令作为单个消息接收。与运行相同代码的iPhone不同,当它必须快速发送数据时,它会像流一样发送所有消息,一个接一个地附加。
此外,当模拟器快速发送消息时,接收iPhone将获取所有消息并完成消息。但是当iPhone向模拟器或其他iPhone发送快速消息时,即使服务器上的代码在发送之前将流附加的消息分开(已由我验证),也会收到不完整/已损坏的消息。
任何人都可以解释我哪里错了,在哪里?我希望我的应用程序不仅可以从模拟器接收快速完整的消息,还可以从其他iPhone接收快速完整的消息。
This是我发布的原始问题,以防任何人对细节感兴趣。