我的笔记本电脑上有服务器和连接它的Android应用程序。
当我在与我可以连接的服务器相同的计算机上模拟应用程序时。 但是,当我将应用程序放在手机上时会抛出此错误:
java.net.connectexception:无法连接到/ ***(端口4444): 连接失败:Etimedout(连接超时)
我尝试过不同的ip:s和转发端口,但它没有任何区别。
服务器代码:
import java.net.ServerSocket;
import java.net.Socket;
public class Server
{
static Socket csocket;
Socket sock;
Server(Socket csocket, Socket sock)
{
this.csocket = csocket;
this.sock = sock;
}
public static void main(String[] args) throws Exception
{
ServerSocket ServerSock = new ServerSocket(4444);
System.out.println("Listening...");
while (true)
{
Socket sock = ServerSock.accept();
System.out.println("Connected");
System.out.println("Starting Client " + sock.getPort() );
new Thread (new ClientThread(sock)).start();
}
}
}
客户端代码(功能连接):
public static String connect()
{
try
{
MySocket = new Socket("**.***.***.**", 4444); //MySocket is a static socket
return receive().get("protocol").toString();//'ok' signal from server
} catch (Exception e) {
return e.toString();
}
}