作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在开发服务器客户端应用程序,其中服务器将一次为(发送到+接收)“x”个客户端提供服务。为此,我在服务器端创建了“x”个线程,以便每个线程专用于一个客户端。每个线程内部都有一个专门用于其客户端的特定套接字。我本来想使这些套接字成为非阻塞的,但现在我认为在每个线程内使用阻塞套接字是一个更好的主意。阻塞套接字持续等待接收数据,每当需要发送任何数据时,都会调用 sendto() 。在这种情况下使用阻塞套接字是一个好方法还是应该使用非阻塞套接字?
等待帮助!!!
最佳答案
我同意。除非您期望有数十万个连接,否则我认为没有理由超越线程和阻塞 I/O。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?
select()
及其 friend 是在阻塞 I/O 的替代方案是另一个
进程而不是另一个线程的时代设计的。
关于c - 多线程单服务器多客户端应用程序中的阻塞套接字与非阻塞套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16515751/
我是一名优秀的程序员,十分优秀!