java SOCKET编程 ,如何跳出accept() 阻塞?

发布网友 发布时间:2022-04-25 03:18

我来回答

3个回答

热心网友 时间:2023-10-22 22:00

JavaSOCKET变成,accept()阻塞用来接受用户请求,如果跳出这段阻塞的代码就失去了网络连接的意义。
如果真要强制退出,可以使用return语句。

热心网友 时间:2023-10-22 22:01

socket = server.accept();
使用线程,,,,,必要时中断线程追问能详细说说么,有没没有demo啊? 谢谢

热心网友 时间:2023-10-22 22:01

最好的办法是建立一个本地socket来实现一次连接来跳出accept状态,之后就可以进行break等操作了
如while(true) {
serverSocket.accept()
if (....)

break;

..............
}
那么如果你的accept是运行在线程里的话,在main函数里可以采取一次本地连接: Socket socket = new Socket("127.0.0.1", port)来连接一次服务器使其能跳出accept阻塞,其中127.0.0.1是所有电脑都默认的本地ip, 所以是通用的不必担心
但如果你的accept是在主线程里,,如写在了main里,那只有强制return或直接在控制台关闭了
如果服务器长期属于待机状态,推荐把accept放在一个线程里来运行,这样主线程也能干别的事,没必要放在主线程里一直堵塞着干等着......

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com