iPhoneとサーバーでUDPとTCPを介してパケットを送受信する必要があります。しかし、クライアント (iPhone) にパケットを送信したい場合、彼は... 一種のサーバーであると考えました。
では、ポート 2347 経由で iPhone にパケットを送受信しているとしましょう。iPhone のポートを開く必要がありますか? iPhone に組み込まれているファイアウォールはありますか?
iPhone にファイアウォールはありません。ただし、99% の確率で、電話にはパブリックにアクセス可能な IP がありません。ルーターの背後にある Wi-Fi 上にあるか、NAT プールの背後にあるセルラー ネットワーク上にある可能性があります。いずれにせよ、これらの機器にアクセスすることはできず、ユーザーはセルラー コンテキスト (場合によっては Wi-Fi を使用する可能性もあります) にアクセスすることもできません。これを別の方法で行うことを考えてください。
デフォルトでは、iPhone にはファイアウォールがありません。iPhone がサーバーとして機能する必要がない場合、つまりポートをバインドする必要がない場合、サーバーはパケットを受信したときの情報 (つまり、IP とポート) を使用して、次のプロトコルを使用してパケットを iPhone に送り返すことができます。たとえば、TCP または UDP を選択します。