0

私はチャットやゲームなどのさまざまなネットワーク プログラムを書いてきましたが、ユーザーは常にサーバーの IP を入力する必要がありました。これは非常に珍しいことです。LAN 内のサーバーを自動的に検索する、一般的なゲームでおなじみのサーバー ブラウザーを実現したいと考えています。Javaでやりたい。

私の質問は次のとおりです。

そのブラウジングはどのように機能しますか? また、たとえばWiFiなど、別のパーティーを自動的に見つけるすべてのもの.

ステータスパッケージをLAN全体に常にブロードキャストすることは可能であり、良いアプローチでしょうか? どの時間間隔が役に立ちますか?

4

2 に答える 2

2

WiFi の場合、デバイスは特定の周波数範囲をリッスンし、信号の範囲をスキャンします。これは、テレビが放送局をピックアップするために使用するプロセスや、ローカル ラジオ ステーションを見つけるために人が行うプロセスとほぼ同じです。

インターネット ゲーム サーバーの場合、インターネット全体をスキャンすることはできません。通常、サービスは、既知のポートでサーバーのリストを送信するように構成されたマスター サーバーを提供します。通常、サーバーも情報を更新できるようになります。

ローカル ゲーム サーバーの場合、通常は数秒ごとに 1 つのパケットです。さまざまなサービスがこの種のデータを要求しているアイドル状態のネットワークでも、実際には非常に多くのトラフィックがあります (Windows ネットワーク検出プロトコルと同様に、Apple の検出プロトコルである Bonjour がよく見られます)。

于 2013-02-11T18:08:21.720 に答える
0

インターネット ゲームの場合、ゲームのセットアップに必要な情報をホストする中央サーバー セットがあります。以前は、これは通常、ゲームをホストしている人の IP アドレスとポート、および名前、マップなどのゲーム情報だけでした。

最近では、ファイアウォール/NAT の問題と不正行為の問題により、ほとんどのインターネット ゲームは実際にはこれらのサーバーを介してデータを送信します。これを行うには費用がかかります。

ローカル ネットワーク上のゲームの場合、UDP パケットはブロードキャスト アドレスに送信され、そのサブネット上のすべてのデバイスで受信されます。ホスティング ゲームは接続先に関する情報を含むパケットを送信し、参加しているゲームはそれらのパケットを受信して​​ゲーム サーバーの場所を把握します。次に、ゲーム サーバーに直接接続します。

IP ネットワーク上にいて、アドレスが 192.168.1.100、サブネット マスクが 255.255.255.0 の場合、ブロードキャスト IP アドレスは 192.168.1.255 です。参照: http://en.wikipedia.org/wiki/Broadcast_address#IP_networking

于 2013-02-12T14:26:17.717 に答える