0

マルチキャストがないため、tcpサーバーがどのように機能するのか疑問に思っています。他のゲームのように多くのパケットを送信する必要がないため、ゲームにtcpを使用することに興味があります。ただし、クライアント/サーバーアーキテクチャが必要です。

マルチキャストがないので、すべてのクライアントについてサーバーからクライアントにすべてを直接送信するループがありますか?これはMinecraftが行うことですか(私が読んだのはtcpを使用しています)

ポートにバインドできるソケットは1つだけだというのが私の理解でした。udpを使用すると、サーバーソケットはIPAdress.Anyからの接続を受け入れることができるため、すべてのクライアントから情報を受信できます。TCPは接続のみであるため、これはどのように機能しますか?同じソケットで複数のTCP接続を確立できますか?

4

1 に答える 1

1

サーバーのポートごとに存在できるリスニング接続は1つだけです。ただし、多くのクライアントはその1つのリスニングポートに接続できます。内部の「接続」は、の組み合わせですServerIP + ServerPort + ClientIP + ClientPort。また、クライアントポートは毎回同じである必要はありません(サーバー側のポートのみが静的である必要があります)。OSはランダムな多数のポートを選択し、それを接続のクライアント側。そのため、クライアントには多数の発信接続を設定できますが、サーバーには1つのリスニング接続のみを設定できます。

1つのポートに複数の接続を設定する方法の例については、このページを参照してください。

于 2012-09-26T01:38:23.450 に答える