sockets - Boost socket async_send:它如何处理 ewilldblock?
问题描述
在 Unix 上,如果出站套接字缓冲区已满,非阻塞套接字上的 send() 可能会返回错误 EWOULDBLOCK。在这种情况下,应该调用 select() 来确定何时可以重试。非阻塞模式下的 Boost 套接字会为您处理所有这些吗?
解决方案
是的,它确实。例如,您可以在此处自行检查boost/asio/detail/impl/socket_ops.ipp
。
推荐阅读
- python - 将数千个项目添加到表格小部件而不冻结窗口
- r - 在 R Shiny 中,如何从不同的条件面板控制同一个对象?
- angular - 在加载时卡住的 Angular 模板在 ASP.NET Core 上获取数据。VS
- java - 使用 Junit 和 Mockito 测试 Spring Boot 多部分 POST 请求
- computer-vision - 寻找拼接的单应性
- c# - 如何在具有这些限制的 ASP.NET Core API 中创建收藏夹系统?
- docker - Docker 构建退出状态 127(处理时遇到错误:libc6:amd64)
- python - np.random.rand() 或 random.random()
- r - P 值热图 - 用 R 表示所有成对比较/p 值(例如,像彩色相关矩阵)
- c# - AsNoTracking() 是多余的吗?