C でクライアント タスクを開発し、C でサーバー タスクを開発しました。クライアントは、サーバーに接続するためにサーバー IP アドレスを必要とします。問題は、どのマシンがクライアントを実行し、どのマシンがサーバーを実行するかを事前に知らないため、実行時にのみサーバーの IP アドレスを知ることができる私の質問: 実行時にクライアントが IP を知る方法です。サーバーのアドレス?
4 に答える
コメント投稿者が指摘したように、DNS を使用することもできます。なんらかの理由で DNS エントリを取得できない場合、またはサーバーとクライアントが同じネットワーク上で実行される場合は、ある種の mDNS を使用することを検討してください。そして走っています。導入概要については、http://en.wikipedia.org/wiki/MDNS#Multicast_DNSにアクセスしてください。
サーバーとクライアントがローカルネットワーク上で実行される場合は、次の美しいMACアドレスを使用してください:FF-FF-FF-FF-FF-FF ...;)ただし、名前が同じである場合は、DNSを使用するのが最適です。
クライアントとサーバーの両方が事前に認識しているサードパーティのブローカー サーバーを使用します。
既知の IP アドレスを持つ任意の場所にサーバーをセットアップするだけです。(クラウド サーバーの使用は、安価で迅速なオプションです。)
サーバーが起動すると、その IP アドレスがブローカー サーバーに送信され、クライアントが起動すると、接続先のサーバーをブローカー サーバーに照会します。
もちろん、これにはプロトコルを作成する必要がありますが、それは非常に簡単です。
まず、検索するネットワークの規模を覚えておく必要があります。それがあなたにとって少し問題になる場合は、DNSを使用できます。これは本当に便利です.....