gpt4 book ai didi

c - udp echo 服务器中有超过 1 个客户端

转载 作者:行者123 更新时间:2023-11-30 15:26:53 25 4
gpt4 key购买 nike

我有一个 UDP 回显客户端和服务器程序。当我尝试连接多个客户端以使用不同的计算机连接到服务器时,我得到了积极的响应,即我能够将我的服务器与多个客户端连接。

所以,我的问题是,当我中断ctrl+c来中断服务器时,我想打印当时与服务器关联的所有客户端的IP地址。我该怎么做?我知道当单个客户端连接到服务器时如何打印 IP 地址,但如何为多个客户端打印?

最佳答案

没有任何内置机制可以做到这一点。 UDP 是无连接的,因此套接字不会“记住”它们与谁通信。

要打印与服务器通信的所有客户端,您需要自己跟踪它们。您可能需要一个集合(如果您不想自己构建一个集合,可以在 C 中找到一些集合的开源实现),甚至一个简单的链表也可以,具体取决于您的情况。在每个 recvfrom 之后,将客户端添加到集合/列表中。处理完每个请求后,从集合/列表中删除客户端。

然后您需要设置一个处理程序来对 ^C 使用react。在其中您只需打印集合/列表。

关于c - udp echo 服务器中有超过 1 个客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27266899/

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