gpt4 book ai didi

c - fork() - 关闭服务器

转载 作者:行者123 更新时间:2023-11-30 18:04:22 25 4
gpt4 key购买 nike

我编写了一个服务器程序,可以使用 fork() 处理多个客户端。我有一个信号处理程序,在需要时进行错误检查,并且一切正常。我将其设置为如果客户端输入“退出”,服务器应停止接受连接,让打开的客户端完成通信,并在所有客户端关闭后关闭。为此,每当输入“退出”时,我都会将 int 标志设置为 0。由于每个子进程中的变量仅适用于该进程,并且不会影响其他子进程或父进程,因此我可以不跟踪标志何时设置为 0。在我的信号处理程序中,我正在检查

    if( count == 0 && flag == 0)
//close server and exit program

count 是打开的客户端数量,在所有客户端关闭后,该数量显然为零(这已经过错误检查以确保其正确)。有谁知道我可以创建可以在一个客户端内设置的标志,并且对每个客户端都有相同的值的方法吗?如果这是有道理的..顺便说一句,我正在用 C 编码。

最佳答案

您需要实现一个服务器供每个人通话,他将广播回所有客户端以更新它们的客户端数量,但本质上不需要太多复杂的通话和跟踪所有其他客户端有点挑战。

这也是在不同客户端之间路由和传输消息的地方。

希望这能带来一些启发。

关于c - fork() - 关闭服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7656059/

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