1

私は最近かなりばかげた問題に遭遇しました...私はAndroid(もちろんJava)からサーバー(C#で書かれた)に接続する必要があるアプリケーションを作成しています

クライアント(Java)のコードは次のとおりです。

InetAddress serverAddr = InetAddress.getByName(SERVERIP); //My IP in a constant, it works with a local one...
Log.e("TCP Client", serverAddr.getHostAddress()); //Just to debug
Socket socket = new Socket(serverAddr, SERVERPORT); //Here I get an exception for the global IP

奇妙なことに、昨日はすべてがまだ機能していました...ポート転送に関しては何も変更していません。ポートはまだコンピュータに転送されています。また、Androidマニフェストで「インターネット」権限を設定しました。

サーバーコードはC#で記述されており、テストのためだけに非常に単純に記述されています。

Console.WriteLine("Waitng for connection");
TcpClient client = Server.AcceptTcpClient();
NetworkStream ns = client.GetStream();

以前はクライアントで接続がタイムアウトしたため、ここではTCPClientオブジェクトを取得しません。サーバーには何も届きません。

上で述べたように、昨日はすべてがうまくいったようだったので、それは奇妙です。

4

1 に答える 1

0

昨日Wifi経由で接続していて、現在3G/GPRS接続経由で接続しようとしている場合があります。Wifi接続を使用している場合は、サーバーとAndroidが同じネットワーク上にあり、接続が成功する可能性があるためです。

私が公に意味するネットワークの外部でサーバーにアクセスできることを確認しましたか?

于 2013-03-25T14:25:57.917 に答える