嗨,这个问题来自我最近的测试: (使用一个线程进行读取操作的服务器代码和N个要写入的线程数,其中N是需要立即执行的写入操作的数量)
将使用多个UDP套接字(每个客户端一个)而不是一个(所有这些套接一个)有什么优势吗?
官方答复: 不,因为服务器使用一个线程进行每个客户端的读/写操作,这样不会提高效率(处理缓冲区溢出的学生得到满分)
我的问题是 - 在任何情况下,将单个UDP更改为多个会对效率产生影响吗? 感谢
答案 0 :(得分:-1)
也许是的,如果您使用的是BSD系统(OSX,FreeBSD等)。在同一个套接字上发送大量upd数据包时,BSD系统表现不佳。如果套接字的发送队列已满,则丢弃数据包。所以写在udp套接字上永远不会阻塞BSD系统。当您使用10.000 UDP套接字发送到同一地址时,发送主机上不会丢弃任何数据包。所以肯定有一个优势,因为有些操作系统会进行疯狂的队列管理。