【发布时间】:2014-12-05 16:53:17
【问题描述】:
我从Socket.getInputStream() 创建的流中读取。当我使用它时,它会阻塞,直到它获得新数据(正是它应该得到的)。现在我需要流来读取一些东西(见下文)。但是当我开始新的阅读时,它会给我未指定的输出(或没有?)。我的问题是:
如何中断实际的读取,以便使用 read 方法?
详细信息:我连接到服务器并向其发送命令。服务器不时向我的客户端发送消息(事件通知),我需要注册。我希望能够在等待此消息时发送命令。当我发送命令时,将从流中读取此命令的答案。这就是问题所在:当我尝试阅读我的答案时,我仍在收听这些消息。所以我需要一些能打断当前读取的东西。
【问题讨论】:
-
在使用阻塞流时,需要使用单独的线程进行读写。
标签: java multithreading sockets