2016-04-12 7 views
1

ゲームで複数のポートを使用する利点は何ですか?なぜ私はいくつかの目的のためにTCPとUDPの組み合わせを使用するだろうが、いくつかのゲームは複数のTCPまたはUDPポートを使用するのですか?これに利点はありますか?自分のゲームのネットワークコードを作っているのが分かり、他の人が複数のポートを持つ理由を知りたいのではないかと私は尋ねています。ゲームで複数のポートを使用する利点は何ですか?

たとえば、GTA Vは5つのUDPポートを使用し、Assasins Creed Revelationsは4つのTCPポートと4つのUDPポートを使用します。

+1

著者はネットワーキングを理解していないため、Probsblyです。ポートは不十分なリソースです。それらを浪費しないでください。 – EJP

+0

@EJP何らかの理由があるはずです... GTA Vは、たとえば を使用します。TCPポート:80,443 UDPポート:6672,61545,61457,61456、および61458 5つのUDPポートはなぜですか?多くの大きなゲームがこれをやっているようですか? – CodeCamper

+0

80はHTTPです。 443はHTTPSです。 5つのUDPポートを使用するのは犯罪です。 – EJP

答えて

2

いつも理由があります。

多くの場合、(完全に)技術的ではありません。例えば、あるチームがゲーム間チャット機能に取り組んでいる一方、別のチームはゲームXのサーバークライアントプロトコルで作業しています。そして、それらは同じ製品に統合されていますが、誰もコスト、時間制約、懸念など、将来の保守性に関する

は、純粋に技術的な理由もあります

ゲームサーバーと異なる場所で実行するチャットサーバは、複数の接続を使用することが自然である場合には、代わりにサーバ側で一種の逆NATボックスを使用することですが、それはボトルネックと単一障害点であるため危険です。

安定性:チャットサーバーがクラッシュしたり機能不全になった場合でも、クライアントとゲームサーバー間のストリームを停止しないようにするため、並列接続で通信する方が安全です。

理論的には理論の実例です:単一のポート(および接続)を使用することは素晴らしいことですが、さまざまな理由でさまざまな伝送と相互作用を分離する方が現実的です。

最近話題になっていますが、今日はWebページにアクセスするときに開かれている接続数がわかりましたか?それはしばしば数十です。おそらく、すべての広告がなくても、規模はそれほど小さくないでしょう。とにかく、それに比べて、ゲームを開く5接続は何もありません。

+0

もう1つの理由は、*特定の要件*を持つ単一のTCPまたはUDP接続を介したストリームの多重化が問題を解決するのが難しいことです。 QUICとHTTP/2を参照してください。これを解決するために非常に賢い人たちから多くの努力が払われましたが、それでもゲームの低レイテンシ要件には十分強力です。 – o9000