私はこれにObjective-CとJavaを使用していますが、問題は言語に依存しないと思います。
TCP/IPを介してJavaサーバーと通信するiOSクライアントがあります。今、私は少なくとも一方の当事者に他方のIPアドレスを伝える必要があります。IPアドレスを(一方または他方から)「検出」できる標準的な方法はありますか?
また、UDPへの切り替えは答えにどのように影響しますか?
ネットワーク上の他のデバイス/サーバーを検出するための多くのプロトコルがあります。iOSの領域で最も一般的に使用されるものの1つは、「Bonjour」です。Appleのサンプルアプリを見てください。
IPアドレスを(一方または他方から)「検出」できる標準的な方法はありますか?
はい、これは「ポートスニッフィング」と呼ばれ、一般的な種類の攻撃であるため、確かに問題が発生します。
範囲内のすべてのIPアドレスを試すだけです。多くのファイアウォール製品は、これを「侵入」の試みと見なし、侵入検知ソフトウェアを使用してログに記録します。
アドレスを「発見」することはほとんどありません。
それが「ドメイン名」の目的です。
サーバーに既知のDNS名を付けられないのはなぜですか?