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