0

(我是网络编程的新手,我正在 Linux 中使用 C 语言)我按照 Beej 的指南制作了一个简单的 UDP 侦听器,我知道如何创建一个套接字并将其发送到目的地(调用 getaddrinfo()和使用 SOCK_DGRAM 的 socket() 见http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#datagram

在我的分布式应用程序中,我需要向多个对等方发送消息(可靠的多播)。我的问题是:我需要为每个对等点创建一个套接字吗?我担心可扩展性。或者我应该在每条消息之后创建套接字、使用它并销毁它(关闭它)?

总之,有没有一种定期向多个目的地发送 UDP 数据包的好方法?谢谢您的帮助!

4

1 回答 1

1

对于 UDP,您只需要一个本地套接字。您可以从那个单一的套接字将数据包发送到您喜欢的任何目的地。

此外,您不需要在每条消息后销毁和重新创建套接字。只需保持套接字打开,并继续发送消息。

于 2013-06-29T21:19:30.667 回答