我最近遇到了一个非常荒谬的问题......我正在创建一个应用程序,它应该从 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 Manifest 中设置了“INTERNET”权限。
服务器代码是用 C# 编写的,也非常简单,只是为了测试:
Console.WriteLine("Waitng for connection");
TcpClient client = Server.AcceptTcpClient();
NetworkStream ns = client.GetStream();
在这里,我永远不会得到 TCPClient 对象,因为之前客户端上的连接超时。没有任何东西通过服务器。
如上所述,这很奇怪,因为昨天似乎一切正常。