1

既知のポート番号でサーバー IP を取得する方法が見つからないようです。すべての IP をテストしてみましたが、遅すぎました。情報をブロードキャストするために使用されるデータグラムについてオンラインで読んだことがありますが、それらの使用方法を理解できないようです。全体として、チャットクライアントを動的IPでサーバーに接続しようとしています。しかし、問題は、IP が変更されたときにクライアントが接続できないため、ポートでブロードキャストを取得する方法を見つけようとしていて、そのポートを使用するクライアントはブロードキャストから IP を取得できますか? ... 何かご意見は???

更新:事前に... サーバーの IP を取得する方法は既に知っています。クライアントが接続されていないソケットでそのIPをブロードキャストできる必要があるだけなので、クライアントはブロードキャストからIPを取得してサーバーに接続できます

4

1 に答える 1

1

手順は次のとおりです。UDP ソケットを作成し、そのソケットに SO_BROADCAST オプションを設定し、サーバーの IP アドレスをメッセージに入れ、255.255.255.255 を宛先として sendto() を呼び出してメッセージをブロードキャストします。もちろん、ブロードキャスト メッセージを受信できるように、すべてのクライアントがバインドする必要がある共通のポート番号も必要です。

于 2013-08-30T18:32:48.443 に答える