任何人都可以用Java提供示例,或者建议实现一个从套接字异步读取行并将每行放入BlockingQueue的类。假设套接字已连接,并且BlockingQueue和consumer已经存在。
编辑:还有一件事,它需要能够在一段时间不活动后超时,并立即停止命令。
这不是家庭作业,我根本无法找到完整的例子来说明如何做得好,而且可靠。
非常感谢。
答案 0 :(得分:0)
说实话,你听起来已经完成了这项工作。你需要做的就是创建一个BlockingQueue并有一个线程来处理它,我想你的消费者。假设你在'...
中有一个DataInputStream这样的事情:
BlockingQueue<String> receivedQueue = new LinkedBlockingQueue<String>();
public void run()
{
while (true)
{
try
{
receivedQueue.put(in.readUTF());
} catch (EOFException e)
{
ch.getClient().disconnect();
break;
} catch (IOException e)
{
break;
} catch (InterruptedException e)
{
break;
}
}
theQueueProcessor.interrupt();
}