我一直在编写一个需要连接到 TCP 服务器的应用程序。我一直试图让这部分代码在无法连接到服务器端端口时发出某种异常。我知道它无法连接,因为我已经关闭了我的服务器并且端口被阻止了。
这是我到目前为止所拥有的:
public void run()
{
mRun = true;
try
{
InetAddress serverAddr = InetAddress.getByName(SERVERIP);
Socket socket = new Socket(serverAddr, SERVERPORT);
try
{
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
……
在任何情况下,我的代码最终都会卡在新的 Socket() 构造函数上,并且它不会抛出任何 IO 异常。到目前为止我已经尝试过
socket.setSoTimeout(timeout);
但它没有任何区别。
关于我可以采取的可能行动的任何想法?