だから私はiOSアプリを作っていますが、これは一般的なネットワークの問題です.
つまり、私が持っているのは、サーバーとして機能する 1 台の電話であり、多数の電話がクライアントとして電話に接続します。基本的には、ゲーム/音楽の共有者です。
そのセマンティクスを実際に理解するのはちょっと難しいですが、それは重要ではありません。
重要なことは、サーバーとクライアントが TCP 接続を介して互いにコマンドと位置を繰り返し送信しているということです。クライアントはサーバーに音楽ファイル (通常は 4MB) を送信して音楽として再生したい場合があります。
私が最初に遭遇した問題は、大きなファイルを送信するときに、クライアントからサーバーへのコマンドの送信がハングすることでした。
私の素朴な解決策は、サーバーに接続してファイルをサーバーに送信するための別のソケットを作成することでした。サーバーは新しいソケットのIPをチェックし、既存の接続のIPがある場合は、それに結び付けます接続し、ファイルを受信してから、ソケットを切断します。
しかし、これの問題は、ソケットが接続するのに 1 ~ 2 秒の遅延がかかることです。私は、中間者攻撃が発生する可能性があることを認識しています。
この問題に対するよりエレガントな解決策はありますか?