2017-10-08 15 views
0

でマルチクライアントを取り扱い、ゲームをプレイするために部屋に接続し、サーバーとクライアントを持っている、すべての部屋がゲームで、スレッド上で実行されている、今私はゲームに取り組んでいるゲーム

私はそれについて考えると、私はゲーム中にすべてのプレイヤーと通信する必要があることを知っている、私はこれを行う方法がわからない、私はスレッドを開く必要があることを意味する各プレーヤーのスレッドを考えたプレイヤーのための部屋と1-3スレッド!ミニプロジェクトの

それはええ大丈夫ですが、それはそれは1メートル最小のスレッドのようなものを意味し、万人+のプレイヤーとゲームだった理論的ならば、

は非常に多くのスレッドを処理するサーバーのことが可能ですか?それはこの問題の正しい解決策ですか?

答えて

0

まず第一に、同期が非常に難しく、この問題に近づくための非常に高価な方法です。 1つのスレッドですべてのプレーヤー処理を処理する方がよいでしょう。つまり、プレイヤー間のスレッド同期について心配する必要はありません。正直言って、あなたのゲームが多くの処理時間を必要としないならば、すべてがスレッドセーフであることを心配するのではなく、すべての処理が行われる単一のスレッド設計のほうがよいかもしれません。明らかに、マルチスレッド化について学ぶ場合は、これは有利な解決策ではありません。

+0

1つのスレッドで部屋(1〜3人)を扱うことは可能ですか?私は各プレーヤーのためのソケットを読む必要があることを意味し、プレーヤーが私にデータを送る順序を知ることはできません。そして、これまでのところ、ソケットは同期的に動作しています。 – likesLowLevel

+0

@likesLowLevelそれは確かに可能ですが、最も有利な解決策であるかどうかについては、1部屋の処理にどれだけの処理がかかっているかによって異なります。 RuneScapeなどのゲームは単一のスレッド設計にも基づいており、そのサーバーとクライアントの関係はあなたが達成しようとしているものと似ているようです。 –

関連する問題