嘿,作为项目的一部分,我不得不写一个小的IRC客户端来嵌入其中。一切都运行得很好,直到程序关闭,从IRC通道读取输入的线程等待更多的输入,并且永远不会死。
while(((inBuffer=in.readLine())!=null)&&(die==false))inBuffer只是一个字符串,而in是套接字上的一个缓冲读取器。die变量是一个布尔值,我的想法是我可以将它设置为true,然后它就会从线程中掉出来。问题是"inBuffer=in.readLine()“会一直停在那里,直到它得到另一行。
有人能帮我一下吗?
发布于 2010-12-16 02:25:31
关闭in流,然后readLine()应该立即返回null。
发布于 2010-12-16 02:50:38
你可以在套接字上设置一个超时,如果你得到一个超时异常,你可以轮询一个中止标志。如果未设置,请再次尝试阅读。
发布于 2017-08-22 18:17:25
关闭输入插座。这将向readLine()调用传递一个null并终止循环。
https://stackoverflow.com/questions/4453455
复制相似问题