c++ - select() 是否可以实现单套接字读/写超时?

标签 c++ c sockets select

我有一个应用程序处理带有阻塞调用的网络通信。每个线程管理一个连接。在套接字上读取或写入之前,我通过使用 select 在读取和写入操作上添加了超时。

众所周知,Select 在处理大量套接字时效率很低。但是,就性能而言,将它与单个套接字一起使用是否可以,或者是否有更有效的方法在单个套接字调用上添加超时支持? select 的好处是便携。

最佳答案

是的,这没问题,您确实需要一些超时机制,以免从行为不端的客户端等处泄漏资源。

请注意,拥有大量线程比使用 select 处理大量套接字效率更低。

关于c++ - select() 是否可以实现单套接字读/写超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2445868/

相关文章:

C 指针到指针。为什么需要有两个星号?

字符常量的C编码

python - 是否可以在 Twisted 中的套接字上设置超时?

c++ - isPalindrome 函数 C++ 问题

c++ - Qt:如何将基类传输到该类中创建的对象

c - 我的代码中的声明错误

ios - 我如何在 iOS 中激活蜂窝 radio ,因为 bsd-sockets 不会自动激活它

node.js - NodeJS 和 Socket.io : Authentication across multiple modules

c++ - '&' 需要 Opengl 中 getTranslation() 函数的左值错误

c++ - OpenCV获取纯红色矩形区域的坐标