gpt4 book ai didi

c - 多线程单服务器多客户端应用程序中的阻塞套接字与非阻塞套接字

转载 作者:行者123 更新时间:2023-11-30 19:22:26 24 4
gpt4 key购买 nike

我一直在开发服务器客户端应用程序,其中服务器将一次为(发送到+接收)“x”个客户端提供服务。为此,我在服务器端创建了“x”个线程,以便每个线程专用于一个客户端。每个线程内部都有一个专门用于其客户端的特定套接字。我本来想使这些套接字成为非阻塞的,但现在我认为在每个线程内使用阻塞套接字是一个更好的主意。阻塞套接字持续等待接收数据,每当需要发送任何数据时,都会调用 sendto() 。在这种情况下使用阻塞套接字是一个好方法还是应该使用非阻塞套接字?
等待帮助!!!

最佳答案

I was thinking to make these sockets non-blocking but now I think using blocking socket inside each thread is a better idea. Blocking Socket continuously waits to receive data and whenever there is a need to send anything, sendto() is called. Is using blocking Socket in such a situation a good approach or should I use non-blocking sockets?

我同意。除非您期望有数十万个连接,否则我认为没有理由超越线程和阻塞 I/O。 select() 及其 friend 是在阻塞 I/O 的替代方案是另一个 进程而不是另一个线程的时代设计的。

关于c - 多线程单服务器多客户端应用程序中的阻塞套接字与非阻塞套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16515751/

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