1

C でクライアント タスクを開発し、C でサーバー タスクを開発しました。クライアントは、サーバーに接続するためにサーバー IP アドレスを必要とします。問題は、どのマシンがクライアントを実行し、どのマシンがサーバーを実行するかを事前に知らないため、実行時にのみサーバーの IP アドレスを知ることができる私の質問: 実行時にクライアントが IP を知る方法です。サーバーのアドレス?

4

4 に答える 4

3

コメント投稿者が指摘したように、DNS を使用することもできます。なんらかの理由で DNS エントリを取得できない場合、またはサーバーとクライアントが同じネットワーク上で実行される場合は、ある種の mDNS を使用することを検討してください。そして走っています。導入概要については、http://en.wikipedia.org/wiki/MDNS#Multicast_DNSにアクセスしてください。

于 2012-06-27T08:44:33.723 に答える
0

サーバーとクライアントがローカルネットワーク上で実行される場合は、次の美しいMACアドレスを使用してください:FF-FF-FF-FF-FF-FF ...;)ただし、名前が同じである場合は、DNSを使用するのが最適です。

于 2012-07-03T16:37:21.240 に答える
0

クライアントとサーバーの両方が事前に認識しているサードパーティのブローカー サーバーを使用します。

既知の IP アドレスを持つ任意の場所にサーバーをセットアップするだけです。(クラウド サーバーの使用は、安価で迅速なオプションです。)

サーバーが起動すると、その IP アドレスがブローカー サーバーに送信され、クライアントが起動すると、接続先のサーバーをブローカー サーバーに照会します。

もちろん、これにはプロトコルを作成する必要がありますが、それは非常に簡単です。

于 2012-06-27T08:08:17.747 に答える
0

まず、検索するネットワークの規模を覚えておく必要があります。それがあなたにとって少し問題になる場合は、DNSを使用できます。これは本当に便利です.....

于 2012-06-27T10:10:34.540 に答える