本文介绍了套接字超时不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个在 C# 机器上运行的 TCP 套接字.我需要通过服务器 IP 和端口从 Android 连接该服务器套接字,如下所示:
I have a TCP Socket running on a C# machine. I need to connect that server socket from Android via Server IP and port as below:
InetAddress serverAddr = InetAddress.getByName(serverIp); Socket socket = new Socket(serverAddr, serverPort); socket.setSoTimeout(10*1000);如果 c# 机器没有在 Android 上运行套接字,它会挂起:
If c# machine doesn't have socket running on Android it hangs on:
Socket socket = new Socket(serverAddr, serverPort);我需要实现 5 秒作为超时,就像如果它在这个 ip 上没有找到服务器套接字,它可能只是超时.
I need to implement 5 seconds as timeout like if it doesn't find server socket on this ip it could simply timeout.
请多多指教..
推荐答案希望对您有所帮助:
使用无参数构造函数创建套接字,如下所示:
Socket socket = new Socket();然后使用
socket.connect(remoteAddress, timeout);另一种方式:
Socket socket= new Socket(); socket.connect(new InetSocketAddress(hostip,port_num),connection_time_out);更多推荐
套接字超时不起作用
发布评论