C语言 阻塞套接字vs /s多线程单服务器多客户端应用程序中的非阻塞套接字



我一直在做一个服务器客户端应用程序,其中服务器一次要服务(sendto + receivefrom)'x'个客户端。为此,我在服务器端创建了"x"个线程,以便每个线程专用于一个客户端。在每个线程中都有一个专门用于其客户端的套接字。我想使这些套接字非阻塞,但现在我认为使用阻塞套接字内的每个线程是一个更好的主意。阻塞套接字持续等待接收数据,每当需要发送任何东西时,就调用sendto()。在这种情况下使用阻塞套接字是一个好方法,还是我应该使用非阻塞套接字?
等待救援!!

我想使这些套接字非阻塞,但现在我认为在每个线程内使用阻塞套接字是一个更好的主意。阻塞套接字持续等待接收数据,每当需要发送任何东西时,就调用sendto()。在这种情况下使用阻塞套接字是一个好方法,还是我应该使用非阻塞套接字?

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

最新更新