gpt4 book ai didi

在 C linux 中关闭服务器套接字

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:05 24 4
gpt4 key购买 nike

我有一个看起来像这样的服务器程序

{
socket();
bind();
listen();

while(1)
{
accept();
recv();
send();
close();
}

close();
}

假设服务器正在运行,监听指定的端口。我怎样才能通过按键盘关闭它?我的意思是正确关闭,而不是 Ctrl+C。

最佳答案

当您close() 阻塞在accept() 中的套接字时,accept() 调用将立即返回 - 1.

如果你的程序像你展示的那样是单线程的,那么你不能做上面的事情。您需要引入至少一个额外的线程来实际执行 close()

关于在 C linux 中关闭服务器套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20356288/

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