2016-03-24 12 views
1

要約は以下のとおりです。サーバーからクライアントに同じパケットを送信します。何らかの理由で、送信されたパケットは受信したパケットと同じではありません。ここで RakNetをより信頼できるものにするには?

rakPeer->Send(&bitStream, MEDIUM_PRIORITY, RELIABLE_ORDERED, 0, UNASSIGNED_RAKNET_GUID, true); 

は、サーバーから送信されたパケットの最初の10バイト以下のとおりです:呼び出し元の関数で RakNetを使用して

パケットが送信されました:ここでは

は詳細だ 27,50 、39,133,202,135,0,0,0,99 ... 1180続きのバイト

受信側のクライアントから見たパケットの最初の10バイトです(注:正しい時刻の50%、残りの半分これです): 27,50,43,40,247,134,255,255,255,99 ... 1180続きのバイト

最初のバイトはID_TIMESTAMPです。バイト2~5はタイムスタンプを含んでいます。私はこれを仮定しますRakNet何とかしています。バイト6は、明確に変更されたパックドIDであり、以下の3バイトである。

小さなパケットが検出可能なエラーなしで送信されるように見えることが原因で、エラーが発生する可能性があります。RakNetは自動的にパケットの破損を処理し、大きすぎる。

何か助けていただければ幸いです。

答えて

0

同じ問題を抱えている人にとっては、ここが解決策です。

RakNetタイムスタンプは、ビルド構成によって32ビットまたは64ビットです。この場合、私は64ビットのビルドを使用して32ビットのタイムスタンプを送信していました。 RakNetは、コンピュータ間の相対的な時間を考慮するタイムスタンプと考えられるビットを変更するので、これはノー・ノーです。

関連する問題