gpt4 book ai didi

Unix TCP 服务器和 UDP 服务器

转载 作者:可可西里 更新时间:2023-11-01 02:45:04 26 4
gpt4 key购买 nike

为什么 TCP 服务器的设计大多是这样的,每当它接受连接时,都会调用一个新进程来处理它。但是,为什么在 UDP 服务器的情况下,大多数情况下只有一个进程来处理所有客户端请求?

最佳答案

如前所述,TCP 和 UDP 之间的主要区别在于 UDP 是无连接的。

使用 UDP 的程序只有一个接收消息的套接字。所以如果你只是阻止并等待消息是没有问题的。

如果使用 TCP,每个连接的客户端都会得到一个套接字。那么你不能只是阻塞并等待一个套接字接收一些东西,因为还有其他套接字必须同时处理。
所以你有两个选择,要么使用非阻塞方法,要么使用线程。当您没有一个必须处理每个客户端的 while 循环时,代码通常会简单得多,因此线程通常是首选。如果使用阻塞方法,您还可以节省一些 CPU 时间。

关于Unix TCP 服务器和 UDP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301588/

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