-1

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

4

1 回答 1

1

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

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

于 2013-05-13T09:53:28.383 回答