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

标签 c++ c sockets select

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

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

最佳答案

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

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

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

相关文章:

c++ - 使用指针访问对象数组

java - 用于客户端-服务器-客户端架构的 Java 框架/api

c - 使用参数(int&,int&)隐式声明所有函数

c - 初始化结构段故障

java - 数据包 : Effectively representing different packet types

linux - 设置: EPERM when run via strace

c++ - 图像到点 vector

c++ - 在C++中更改内存值

c++ - std::unique_ptr 自定义删除器

c - 为什么字符比较“if(c> ='a'&& c <='z')”不可移植?