我在C#机器上运行了一个TCP套接字。我需要通过服务器IP和端口从Android连接该服务器套接字,如下所示:
InetAddress serverAddr = InetAddress.getByName(serverIp);
Socket socket = new Socket(serverAddr, serverPort);
socket.setSoTimeout(10*1000);
如果c#机器没有在Android上运行套接字,它会挂起:
Socket socket = new Socket(serverAddr, serverPort);
我需要实现5秒作为超时,就好像它在这个ip上找不到服务器套接字一样,它可能只是超时。
请想......
答案 0 :(得分:7)
这可以帮到你:
使用no参数构造函数创建套接字,如下所示:
Socket socket = new Socket();
然后使用
socket.connect(remoteAddress, timeout);
另一种方式:
Socket socket= new Socket();
socket.connect(new InetSocketAddress(hostip,port_num),connection_time_out);
答案 1 :(得分:1)
InetAddress serverAddr = InetAddress.getByName(serverIp);
Socket socket = new Socket();
socket.connect(serverAddr, timeout);