gpt4 book ai didi

java - 从 Socket 读取行并将每行放入 BlockingQueue

转载 作者:行者123 更新时间:2023-12-01 05:48:13 24 4
gpt4 key购买 nike

任何人都可以提供 Java 示例,或者建议实现一个从套接字异步读取行并将每行放入 BlockingQueue 的类。假设socket已连接,并且BlockingQueue和consumer已经存在。

编辑:还有一件事,它需要能够在一段时间不活动后超时,并根据命令立即停止。

这不是家庭作业,我只是无法找到完整的示例来说明如何可靠地做好这件事。

非常感谢。

最佳答案

说实话,你听起来好像已经完成了工作。您需要做的就是创建一个 BlockingQueue 并有一个线程来处理它,我猜这就是您的消费者。假设你有一个 DataInputStream 'in'...

类似这样的事情:

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();
}

关于java - 从 Socket 读取行并将每行放入 BlockingQueue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5356859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com