gpt4 book ai didi

java - 如果 Action 长时间卡住,如何打破循环

转载 作者:行者123 更新时间:2023-11-30 02:35:27 24 4
gpt4 key购买 nike

其实我是在用Java(如果大不了java有具体的方法来解决我的问题的话,说实话我也不知道)写一个IRC协议(protocol)的Client,知识有点欠缺。我有一行从 IRC 服务器读取行。该行是:

line = reader.readLine();

它工作正常,我在循环中使用这条线,但是如果服务器不发送任何内容,应用程序就会卡住在这条线上。我的问题是,如果服务器 10 秒内没有发送任何内容,我如何能够打破循环?

我尝试这样做

do {
start = System.currentTimeMillis();
line = reader.readLine();
... //doing other actions
} while ((System.currentTimeMillis() - start) < 10*1000);

只有当我从服务器收到下一个响应时它才起作用...等待 10 秒后我无法中断循环,使用我的方法,如果服务器不发送任何内容,它将永远等待。这是我的问题,抱歉,如果有太多错误或无用的文本,这是我的第一个问题:)

最佳答案

使用Socket.setSoTimeOut 。超时后可能会出现 SocketTimeoutException

关于java - 如果 Action 长时间卡住,如何打破循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43239397/

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