私の息子がプレイできるサーバーを設定しようとしていますPocketmine
。PHP
ポート19132で実行されているサーバー。私のルーターでこのポートが開いていて、他のサーバー(Railsサーバーなど)を実行すると、すべてが正常です。実行しようとすると、Pocketmine
ポートは開かれません。私のサーバーは現在実行中です。これが私のnetstat
結果です。
サーバーを見ることができます。最初の行にはudp port
。LISTEN
これは私のサーバーの出力です。
何が問題なのでしょうか?udp
サーバーがこの状態ではないのはなぜですかLISTEN
?どの状態にあるべきですかLISTEN
?ポートが開かない原因になる可能性がある他の問題はありますか?この問題を解決するにはどうすればよいですか?
ベストアンサー1
Minecraftサーバーのポートが表示されない理由は、LISTEN
UDPプロトコルがどのように機能するかです。
TCPプロトコルを使用するサーバーは、クライアントが接続しようとするとセッションを開始し、TCP / IPプロトコルを使用してデータを送信するように接続を「受信」します。 TCP接続用のポートに「受信中」のエントリがないと、プロトコル自体がポートで受信しているサーバーに接続できないというエラーが発生する可能性があります。
UDP 接続にはセッションがないため、接続を「受信」しません。実際に起こるのは、UDPパケットがそのポートに送信され、そのポートにパケットを受信するサーバーがある場合にデータが処理されることです。それ以外の場合、パケットを受信する人がいない場合、パケットは空白に消え、プロトコルレベルではエラーは生成されません。
netstatでポート19132を見ることができるという事実は、UDPの世界では、サーバーがそのポートのデータを「受信」していることを意味します。これは、ポートが実際に開いていることを意味します。