だから私はアンドロイド用のオンラインゲームを作成しています。達成者を超えて、私はそれをより複雑にする方法を見つけました。したがって、ログインサーバーであるサーバーが1つあります。Android デバイスからの接続をリッスンします。ユーザー名とパスワードが受け入れられると、それらが有効であることを確認してから、デバイスの IP アドレスとポート番号をゲーム サーバーに送信します。次に、Android デバイスはゲーム サーバーからの接続をリッスンします。
ゲームサーバーがデバイスへの接続を試みるまで、これはすべて機能しています。その時点でしばらくハングし、ゲームサーバーは次の例外をスローします:「接続されたパーティが一定期間後に適切に応答しなかったため、接続の試行が失敗したか、接続されたホストが応答に失敗したため、確立された接続が失敗しました [deviceIP]: [ポート]"。
LogCat での接続の試みについては言及されていません。ところで、ゲームサーバー接続をリッスンするために ServerSock を使用しています。ポート 0 に初期化してから、getLocalPort() を呼び出して、バインド先のポートを取得し、ログイン サーバーに送信します。
考えられることはすべて試しましたが、うまくいきません。