我正试图在java中创建一个相当简单的客户机/服务器应用程序。客户端有两个线程,服务器有两个线程(每个客户端),一个用于输入和输出。我通过Object Streams几乎不断地发送数据。读取()块。我需要能够中断read()线程(即断开连接)。我该怎么做呢?可中断套接字读取Java
2
A
回答
1
只需关闭包装在套接字上的输出流即可。如果这也阻止了您的平台,请使用读取超时并让读卡器在每次跳闸时检查断开连接标志。
1
关闭Socket
,并且read
方法将被中断IOException
。处理这个异常来清理你的线程。
0
您可以使用非阻塞呼叫或在线程上使用Interrupt method。一旦中断,读操作将抛出一个异常,你可以捕捉并很好地结束线程。
+1
只有套接字是InterruptibleChannel时,这才是真的。 – EJP 2012-07-24 02:27:25
相关问题
- 1. Java套接字BufferedReader读取不读
- 2. 从Java的套接字读取字节
- 3. 的Java套接字读取阻断无限
- 4. 套接字java断开
- 5. Java套接字写入然后从套接字读取
- 6. Java套接字从套接字实时读取
- 7. Java套接字读取超时异常
- 8. Java - 从套接字通道读取
- 9. Java套接字不读取数据
- 10. Java从套接字读取挂起
- 11. 读取期间Java套接字超时
- 12. Java:套接字读取超时异常
- 13. Java读取套接字Tcp更快
- 14. java - 无法从套接字读取
- 15. 非插入式Java套接字读取
- 16. java TCP套接字消息中断
- 17. 获取套接字中可读取的字节数
- 18. Java套接字可以让客户端无法读取数据
- 19. 中断连接套接字
- 20. C中的Unix套接字读取套接字中的环路
- 21. Java:从连接的套接字中设置无阻塞读取
- 22. 无法读取套接字
- 23. 从C读取套接字
- 24. 从套接字读取
- 25. wxWidgets从套接字读取
- 26. 异步套接字读取
- 27. 从TCP套接字读取
- 28. 异步套接字读取
- 29. 从套接字块读取
- 30. 用pcap读取套接字
认为这[链接](http://www.roseindia.net/javatutorials/shutting_down_threads_cleanly.shtml)实际上可以帮助你。 – Jasonw 2012-07-23 01:33:53
你有没有尝试使用非阻塞读取插座?还有一个循环来不断检查一个条件,以便当你需要断开连接时,你可以在非阻塞读取返回后断开连接?您可以使用NIO或setSoTimeout来创建一个非阻塞套接字。 – 2012-07-23 02:50:58