2017-12-09 4 views
0

私のMMORPGプロジェクトでは、現在、近くのオンラインプレイヤーの実際の位置(x、y、z)を新しいキャラクターがログインしようとしている場所彼は正しい位置にそれらを見ます。
私はプレーヤーの位置を追跡する変数を持っていますが、私は変数に格納されていると言ってクライアントcuzからの位置を要求せずにすべての近くのプレーヤーを取得する必要があります。 詳しい説明:新しいプレーヤーがログインし、彼がスポーンしようとしています。彼の近くには5人の他のプレイヤーが既にログインしているので、彼が出現するとすぐにそれらを見るべきです。私のマルチスレッドのサーバーコードでは、私は更新された位置を維持する変数があります。接続しているすべてのクライアントからカスタムデータを収集

接続されたすべてのクライアントを取得するにはどうすればよいですか ポジションまたは他の提案はありますか?

答えて

0

財団:
あなたはすべてのクライアントが同期に残るように、100msのようなグローバル更新間隔を定義したいとしています。次に、UDPプロトコルを使用して、クライアントとサーバーの間の位置を送信したいと考えています。 UDPはゲームにとって非常に高速です。この場合のTCPは時間がかかります。
UDPを使用して:
UDPはC#で動作することは難しくありません。ターゲットサーバーを確立し、サーバーが受信ポートを確立した後、着信および送信トラフィックの受信を開始することができます。各パケットにユニークなタグを付け加えれば、どのプレイヤーがどのパケットを記憶しているのかを覚えておく必要があります。 UDPを始めるにあたっての美しい説明はhereです。

関連する問題