社区
C++ 语言
帖子详情
Boost asio 是否支持多线程异步读写?
vvqboy
2015-08-04 02:54:47
我看大多示例, 都是这样的模型
读socket - > 写socket -> 继续调用 读socket 实现循环
这样做, 对立马能返回结果的情况没问题.
可我目前遇到的问题, 是客户端每次会有大量请求, 而每次请求都需要8- 10秒后才能给出回应.
这就需要我使用这样的模型:
一个线程不停接受来自客户端的请求
一个线程不能发送请求结果
而这两个线程都是操作同一个socket
这样做是否会有问题呢?
...全文
260
2
打赏
收藏
Boost asio 是否支持多线程异步读写?
我看大多示例, 都是这样的模型 读socket - > 写socket -> 继续调用 读socket 实现循环 这样做, 对立马能返回结果的情况没问题. 可我目前遇到的问题, 是客户端每次会有大量请求, 而每次请求都需要8- 10秒后才能给出回应. 这就需要我使用这样的模型: 一个线程不停接受来自客户端的请求 一个线程不能发送请求结果 而这两个线程都是操作同一个socket 这样做是否会有问题呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LubinLew
2015-08-04
打赏
举报
回复
accept每次返回的socket文件描述符都是不同的, 你应该用接受线程保存一个描述符队列, 发送线程通过这个队列中描述符向外发送,注意队列操作的互斥。 你的这种方法是不好的,你可以改成接收一个请求就创建一个线程,把描述符传递给线程入口。 更多的方法你可以看看《UNIX网络编程》 下面是一个异步IO的简介你可以参考一下 http://www.wangafu.net/~nickm/libevent-book/01_intro.html
jiqiang01234
2015-08-04
打赏
举报
回复
socket本来就支持同时异步读写,无论什么形式封装的库都肯定支持
c++
boost
asio
网络库
异步
tcp方式文件传输 速度在10M左右.zip
C++
Boost
ASIO
库是C++开发者用于网络编程的一个强大工具,它提供了高效、灵活的
异步
I/O操作。在TCP(传输控制协议)网络通信中,
Boost
.
ASIO
允许开发人员实现高效的文件传输,尤其是在大数据量的情况下。在这个场景...
Boost
.
Asio
C++ 网络编程 中文版
- **
多线程
**:
Boost
.
Asio
支持
多线程
,允许编写可伸缩的网络应用程序。 - **不仅仅是网络**:虽然
Asio
主要是为网络编程设计的,但它也可以用于非网络相关的
异步
I/O操作。 - **计时器**:
Asio
提供了计时器功能,能够...
Boost
ASIO
C++ 网络编程
同样,`async_read`和`async_write`用于
异步
读写
数据,这样即使在网络延迟或拥塞时也能保持程序的响应性。 对于UDP通信,
Boost
ASIO
提供了`udp::socket`类,它
支持
无连接的数据报传输。`async_send_to`和`async_...
boost
asio
最新版
Boost
.
Asio
支持
多线程
环境下的并发操作。通过`io_service`类及其派生类,可以在多个线程间共享资源,从而提高程序的效率。 ##### 1.8 计时器
Boost
.
Asio
提供了一个简单的计时器类`
asio
::steady_timer`,用于安排一...
基于
boost
.
asio
库的C++http/https web server
Boost
.
ASIO
库提供了`ssl::context`类来管理SSL上下文,并有专门的
异步
读写
函数处理加密的数据流。 6. **并发处理**:为了提高服务器性能,通常会使用
多线程
或多进程模型,以便同时处理多个客户端请求。
Boost
.
ASIO
...
C++ 语言
65,192
社区成员
250,525
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章