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

标签 c++ c sockets select

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

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

最佳答案

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

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

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

相关文章:

c++ - 误解重复指令 - 它应该失败,但没有

Python内嵌C代码编译报错

c++ - GNU Make 因 If 语句中的语法错误而退出

javascript - 为什么我不能使用 chrome 扩展注入(inject) socket.io

linux - 防止 Docker Compose 创建单独的网络

c++ - std::initializer_list 和 c array [] 的优缺点是什么?

c++ - argv[1] 仅包含 Visual C++ 2010 中第一个命令行参数的首字母

c - unistd.h 读取()函数 : How to read a file line by line?

c++ - C/C++ 内联汇编不正确的操作数类型

java - 我的 tcp 客户端/服务器程序中没有写入任何值