0

基本的に、ゲームサーバーがオンライン/オフラインであるかどうかを確認したいのですが、サーバーはポートを介してホストされています。これを確認するためにpingを実行するにはどうすればよいですか。テストの目的で、pingを実行するサーバーはですがfr7.mooshroom.net:25667、最終的にはサーバーのIPとポートをオンラインのplistからインポートするため、IPアドレスとポートを分離できます。

これを行う方法についてのステップバイステップガイドを教えていただければ幸いです。

AppleOneはiOS5で動作しないため、 Reachabilitybyを使用しています。tonymillion

4

1 に答える 1

1

まず、TCPとUDPのどちらについて話しているかによって異なります。

TCPの場合、答えは簡単かもしれません。そのポートでサーバーへのTCP接続を開いてみてください。接続が開いたら、接続を切断して成功を報告します。そうでなければ、失敗します。これは単純な見方です。サーバーの前にロードバランサーまたはファイアウォールがある場合、TCP接続は開いているが、バックエンドサーバーがダウンしている可能性があります。

UDPはもっと難しいでしょう。何らかの応答を送信しない限り、サーバーがデータを取得したことをUDPデータを送信するときに知る方法はありません。UDPサーバーがダウンしていて、ポートにメッセージを送信した場合、コンピューターにICMPエラーメッセージが返される可能性があります。これにより、サーバーがダウンしていることが確実にわかります。ただし、ファイアウォールがこのメッセージがデバイスに戻るのをブロックする可能性があるため、信頼性が低い可能性があります。

それ以外の場合は、適切にフォーマットされたメッセージをサーバーに送信して、何らかの応答を取得する必要があります。これはプロトコルに依存しますが、最も信頼性があります。

従来の「ping」メッセージは、ICMPエコークエリおよび応答メッセージです。そのため、ICMPに関連付けられた「ポート」はありません。

于 2012-07-08T05:42:02.360 に答える