我使用 Apache Mina 创建了一个 TCP 客户端。我添加了一个while循环来不断检查端口的活跃度。一旦在服务器端建立连接,循环就会断开并建立连接。我从未来获取会话并使用它进行通信。有一个更好的方法吗。而不是循环,我可以要求连接等到它启动。
while(true){
try {
ConnectFuture future = ioConnector.connect(new InetSocketAddress(Port),
new TriggerReceiverHandler(), SOCKET_CONFIG);
System.out.println("Message Receiver started and listening on port "+ Port);
Thread.sleep(1000);
session = future.getSession();
if(session != null)
break;
} catch (InterruptedException e) {
e.printStackTrace();
}catch(Exception ce){
if(ce.getCause() instanceof ConnectException)
System.out.println("Retrying connection");
}
}
另一个问题是,如果服务器关闭并且我希望服务器一直等待连接直到连接,我该怎么办?