Ogre3D エンジンを使用して、クロスプラットフォームの 3D マルチプレイヤー ゲームを開発しています。C 独自の (send/sentto/recvfrom など) ネットワーク機能を使用して、独自のネットワーク構造を作成しました。udp と tcp の両方のトランスポート プロトコルをサポートします。ゲームはクライアント サーバー アーキテクチャを使用します。
私が抱えている問題は、アプリケーションがデバッグ モード (プレイヤーがサーバーに接続し、ファイルを転送し、トランスフォームの更新を適切に送受信するなど) で動作するにもかかわらず、リリース モードに切り替えると、一部のネットワーク機能が動作しないことです。 . たとえば、コンピュータの 1 つが変換更新を 1 つもまったく受信していませんが、アプリケーションを再起動すると受信することがあります。さらに、一部の tcp メッセージがアプリケーションによってキャプチャされないなどがあります。リリースモードのUbuntuでも奇妙なネットワーク操作を行っています。
何が問題だと思いますか?
注: Windows 独自のネットワーク機能 (WSASend など) を試す必要がありますか?