我正在用 C 语言编写一个服务器/客户端系统,它在 TCP 连接下使用 BSD 套接字。服务器是多线程的,每个连接都在自己的接收器中运行。每个客户端都很好地与服务器进行一对一的对话,遗憾的是我想不出一种方法来实现 SendToAll() 函数,例如,如果客户端 A 做了一些需要向其发送数据包的事情所有的客户。我该怎么做?
我正在考虑在每个接收器中实现一个队列,并将任何广播发送到这些队列;当接收器发出一个新数据包时,它也会将该消息添加到数据包中,如果这有意义的话。
但是,是的,有什么方法可以通过 TCP 进行广播,就像您可以通过 UDP 一样?