NSInputStream の使用時に問題が発生しました。サーバーに接続するクライアントアプリがあり、サーバーはTCPを介してクライアントアプリにメッセージを1秒あたり約1メッセージ繰り返し送信し始めます。サーバーはクライアントにメッセージをブロードキャストしているだけで、メッセージは xml 形式です。サーバーはメッセージを 1 つのパケットとして送信します。
ここでの問題は、NSInputStream からバイトを読み取ると、データが切り捨てられたことです。これは、1 つの完全なメッセージを受信する代わりに、時々 2 つの個別のデータ (部分的な xml) の応答を得たことを意味します。NSInputStream からデータ バイトを読み取ったときに既に発生しているため、デバッグできません。
Wireshark を使用して受信したすべてのパケットを分析しますが、TCP が部分的なデータをクライアントに再送信するため、データも切り捨てられます。すべての部分データ バイトをログに記録しようとしましたが、部分データの合計は常に約 1600 バイトです。
彼らがどのようにサーバー側を設計および実装したかはわかりませんが、多くの人がそのサーバーに接続し、そこからブロードキャストメッセージを継続的に取得していることは知っています.
誰でもこの問題に遭遇しますか? 誰でも助けることができますか?データが最大サイズを超えて分割される可能性はありますか?