我正在尝试用Java创建一个相当简单的客户端/服务器应用程序。客户端有两个线程,服务器有两个线程(每个客户端),一个用于输入和输出。我几乎总是通过对象流以两种方式发送数据。 Read()块。我需要能够中断read()线程(即断开连接)。我该怎么做?
关闭输入插座。这将导致阻塞的读取抛出EOFException
,这时应关闭套接字并退出线程。
关闭Socket
,read
方法将被IOException
中断。处理该异常以清理线程。
您可以在线程上使用非阻塞调用,也可以使用Interrupt method。一旦中断,读取操作将引发一个异常,您可以捕获该异常并很好地结束线程。