問題タブ [raknet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Unity3D + iOS での Raknet 接続の問題 (il2cpp)
Unity3D を使用して iOS で Raknet の最新バージョンを実行すると、奇妙な問題が発生しCONNECTION_ATTEMPT_FAILED
ます。サーバーに接続しようとすると発生します。
それでは、問題の詳細を説明しましょう。
ObjectiveC アプリケーションで使用するとまったく同じライブラリが正常に接続されるため、問題は Unity3D に関連しているようです。
問題が Raknet の信頼性レイヤーにあることを特定することができました。
どうやら、接続プロセスの最後のステップ (接続ハンドシェイクが完了したとき) で、サーバーの信頼性レイヤーは ID_CONNECTION_REQUEST
、クライアントから受信したパケットがメッセージではなく確認応答であると考えています。したがって、それは答えません。最終的に、数回の試行 (および 10 秒のタイムアウト) の後、クライアントはCONNECTION_ATTEMPT_FAILED
エラーで失敗します。
誰かがアイデアとしてそこにいますか?より多くの情報を得ることができたら、質問を更新します。
アップデート
Unity3D 5.1.1f1 を使用しています
回避策を見つけることができました!詳細については、回答を参照してください。回避策は実際に何が起こったのかについて多くを教えてくれないので、ここにいる C++/XCode/Unity/iOS/AppleLLVM6.1 の専門家が実際に何が起こったのかを説明してくれることを嬉しく思います。
c++ - RakNet を使用できません... リンク エラー
(注: Visual Studio 2013 を使用しています)
プロジェクトで RakNet を使用しようとしていますが、多くの問題が発生しています。
lib ファイルなしでコンパイルしようとすると、次のようになります。
私が VS2013 でコンパイルした RakNet 静的 lib ファイルを使用してコンパイルしようとすると、次のようになります。
これらのエラーは、次の場合にのみ発生し#include "RakPeerInterface.h"
ます。
どこかでプリコンパイルされたライブラリを見つけることができれば役立つでしょうか?
c++ - RakNet の信頼性を高めるには?
要約は次のとおりです。サーバーから同じコンピューターで実行されているクライアントにパケットを送信します。何らかの理由で、送信されたパケットが受信されたパケットと同じではありません。
詳細は次のとおりです。
パケットは、呼び出し関数でRakNetを使用して送信されました。
サーバーから送信されたパケットの最初の 10 バイトは次のとおりです: 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はパケットの破損を自動的に処理し、パケットが大きすぎる場合は内部で分割することを理解しています。
どんな助けでも大歓迎です。
terrain - RakNet で地形の高さデータを送信する
次のような文字列を生成します。
高さデータの量は MapSize^2 です (MapSize は通常 256x256 です)。しかし、質問は、これは RakNet (UDP) を介して送信するのに妥当な量のデータですか? データをチャンクに分割することはできますが、それは避けたいと思います。