gpt4 book ai didi

sockets - 一个套接字上有多个UDP数据包

转载 作者:行者123 更新时间:2023-12-03 12:06:25 25 4
gpt4 key购买 nike

假设我有一台具有多个客户端(UDP)的服务器。每当从客户端接收到数据包时,服务器将花费1秒钟处理该数据包,并在处理后立即将新的数据包发送给所有客户端。

如果在0.1秒内到达10个数据包,服务器将能够执行此操作吗?换句话说,在处理完第一个接收到的数据包后,是否可以立即向每个客户端发送新数据包? (我感觉套接字会被其他9个未读数据包“阻塞”)

服务器循环如下所示:

while (1) {
read_a_packet()
process_packet()
send_new_packet_to_all_clients()
}

最佳答案

传入的UDP数据包被放入缓冲区中,以备将来检索。如果您的处理速度很慢,无法用数据包填充套接字缓冲区,则随后的数据包将被丢弃。

另请参见How does a Linux socket buffer overflow?C++ UDP sockets packet queuing(另请参阅那里的注释)。

关于sockets - 一个套接字上有多个UDP数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7735985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com