Interruptible Socket Read Java

问题描述 投票:2回答:3

我正在尝试用Java创建一个相当简单的客户端/服务器应用程序。客户端有两个线程,服务器有两个线程(每个客户端),一个用于输入和输出。我几乎总是通过对象流以两种方式发送数据。 Read()块。我需要能够中断read()线程(即断开连接)。我该怎么做?

java sockets networking stream client-server
3个回答
2
投票

关闭输入插座。这将导致阻塞的读取抛出EOFException,这时应关闭套接字并退出线程。


1
投票

关闭Socketread方法将被IOException中断。处理该异常以清理线程。


0
投票

您可以在线程上使用非阻塞调用,也可以使用Interrupt method。一旦中断,读取操作将引发一个异常,您可以捕获该异常并很好地结束线程。

© www.soinside.com 2019 - 2024. All rights reserved.