我正在编写一个 TCP 并发服务器,它将分叉一个子进程来处理每个新连接。假设ClientA正在与ChildA交互,而服务器仍在同一端口上侦听。如果我们用 SIGINT 信号杀死服务器,ClientA和ChildA会继续交互。
因此,在这种情况下,如果我重新启动服务器,它显然会引发Address already in use
函数bind
调用。
这个问题的所有可能解决方案是什么,通常遵循哪一个?
我正在编写一个 TCP 并发服务器,它将分叉一个子进程来处理每个新连接。假设ClientA正在与ChildA交互,而服务器仍在同一端口上侦听。如果我们用 SIGINT 信号杀死服务器,ClientA和ChildA会继续交互。
因此,在这种情况下,如果我重新启动服务器,它显然会引发Address already in use
函数bind
调用。
这个问题的所有可能解决方案是什么,通常遵循哪一个?