我正在尝试在java中创建一个相当简单的客户端/服务器应用程序。客户端有两个线程,服务器有两个线程(每个客户端),一个用于输入和输出。我几乎不断地通过Object Streams发送数据。读()块。我需要能够中断read()线程(即断开连接)。我该怎么做?
答案 0 :(得分:1)
只需关闭套接字周围的输出流即可。如果它也在您的平台上阻塞,请使用读取超时并让读者在每次跳闸时检查断开标记。
答案 1 :(得分:1)
关闭Socket
,read
方法将被IOException
中断。处理该异常以清理你的线程。
答案 2 :(得分:0)
您可以使用非阻止调用或在线程上使用Interrupt method。一旦被中断,read操作将抛出一个Exception,您可以很好地捕获并结束该线程。