Mat*_*att 8 java sockets multithreading nonblocking
我有一个GUI,其中包含要连接的服务器列表.如果用户单击它连接到它的服务器.如果用户单击第二个服务器,它将断开第一个服务器并连接到第二个服务器.每个新连接都在一个新线程中运行,以便程序可以执行其他任务.
但是,如果用户在第一个服务器仍然连接时单击第二个服务器,则会有两个同时连接.
我正在使用它连接,而connect()是阻塞的行:
Socket socket = new Socket();
socket.connect(socketAddress, connectTimeout);
Run Code Online (Sandbox Code Playgroud)
我想也许Thread.currentThread().interrupt();会奏效,但事实并非如此.
我是否需要稍微重构我的代码以便继续进行第一次连接,但是之后会立即关闭它?或者实际上是一种中断connect方法的方法.
| 归档时间: |
|
| 查看次数: |
6003 次 |
| 最近记录: |