我正在尝试通过 UDP 协议通过注册的多个客户端广播消息。
我相信我们需要以下两个命令来通过套接字发送和接收:
sendto(sock,buffer,
strlen(buffer),0,(const struct sockaddr *)&server,length);
recvfrom(sock,buffer,256,0,(struct sockaddr *)&from, &length);
正如我们所看到的,我们需要 6 个参数来表示相同,倒数第二个是收件人的地址。在客户端到服务器的情况下,我们有地址。但是从服务器到客户端,我们只有收到消息的最后一个客户端的地址。
我还尝试存储至少一次连接到服务器的所有套接字的地址,以便我们可以使用 sendto(),但是由于所有客户端都在同一台机器上运行,这&from
似乎是一样的。
有哪些替代品?我哪里错了?我只是想向本地机器上运行的所有客户端广播一条消息。?