我有一个在 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 上找不到服务器套接字,它可能只是超时。
请思考..
最佳答案
希望这对你有帮助:
像这样使用无参数构造函数创建套接字:
Socket socket = new Socket();
然后使用
socket.connect(remoteAddress, timeout);
另一种方式:
Socket socket= new Socket();
socket.connect(new InetSocketAddress(hostip,port_num),connection_time_out);
关于android - 套接字超时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20780904/