1

我的 iOS 应用程序需要套接字通信。我正在关注这个Ray Wenderlich 教程来设置输入和输出流。我使用的服务器是 Twisted。我的应用程序需要发送和接收由外部事件(如陀螺仪数据)生成的快速数据突发。它以 JSON 字符串的形式发送/接收数据。所以在很大程度上,它非常像一个实时消息聊天应用程序,但发送和接收速度非常快并且是突发的。

现在我知道流不会发送消息,而是一个接一个地发送附加的所有内容。但是我在非常快地发送数据时观察到了这件事。模拟器的输出流,即使它非常快地向 iPhone 发送数据或不向 iPhone 发送数据,在任何情况下,都会以消息方式发送数据。服务器接收每个发送命令作为单个消息。与运行相同代码的 iPhone 不同,当它必须快速发送数据时,它会像流一样发送所有消息,一个接一个地附加。

此外,当模拟器快速发送消息时,接收 iPhone 会收到所有消息并完成消息。但是,当 iPhone 向模拟器或另一台 iPhone 发送快速消息时,它们都会收到不完整/损坏的消息,即使服务器上的代码在发送之前将流附加消息分开(我已经验证过)。

谁能解释我出了什么问题,在哪里?我希望我的应用程序不仅能从模拟器接收到来自另一部 iPhone 的快速且完整的消息。

是我发布的原始问题,以防有人对细节感兴趣。

4

0 回答 0