社区
工具平台和程序库
帖子详情
boost::socket & boost::asio:不是已经有boost::socket了,为什么又出现一个boost::asio?
HuangRG
2006-10-20 11:37:11
boost::asio主要也是针对socket的,我看了看,好像不大简洁. 不是已经有boost::socket了,为什么又出现这个asio?
...全文
1030
3
打赏
收藏
boost::socket & boost::asio:不是已经有boost::socket了,为什么又出现一个boost::asio?
boost::asio主要也是针对socket的,我看了看,好像不大简洁. 不是已经有boost::socket了,为什么又出现这个asio?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bootblack
2006-10-28
打赏
举报
回复
boost:socket是几年前的,早被废了
asio今年才正式收录
ClassyK
2006-10-27
打赏
举报
回复
有boost:socket么
固陋寡闻了
asio好像是去年加入boost的吧
acejoy
2006-10-21
打赏
举报
回复
对异步I/O的封装,通常异步I/O的性能要好于同步。
--------------------------
国内专业的ACE网络编程、开发论坛开通:
www.acejoy.com
www.acedevelop.com
涉及ACE使用和开发,中间件、服务器端软件的设计,P2P技术,
socket网络编程、应用开发等内容。
欢迎加入,大家一起交流、学习成长!
C++
boost
::
asio
编程-同步TCP详解及实例代码
boost
::
asio
编程-同步TCP
boost
.
asio
库是
一个
跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型。
boost
.
asio
库支持TCP、UDP、ICMP通信协议。 下面介绍同步TCP模式: 大家好!我是同步方式! 我的主要特点就是执着!所有的操作都要完成或出错才会返回,不过偶的执着被大家称之为阻塞,实在是郁闷~~(场下一片嘘声),其实这样 也是有好处的,比如逻辑清晰,编程比较容易。 在服务器端,我会做个
socket
交给acceptor对象,让它一直等客户端连进来,连上以后再通过这个
socket
与客户端通信, 而所有的通信都是以阻塞方
boost
asio
tcp服务器的实现
boost
::
asio
tcp服务器的实现 封装
socket
, 监听
socket
, C++11智能指针, 要求: vs2012或以上版本
Socket
编程系列之5:
Boost
开发及
ASIO
异步网络聊天室编程实
Socket
编程系列之1:Linux-API网络编程入门实战
Socket
编程系列之2:Windows-API网络编程入门实战
Socket
编程系列之3:Libevent网络编程入门实战
Socket
编程系列之4:Libcurl网络编程入门实战
Socket
编程系列之5:
Boost
-...
boost
asio
服务器和客户端 TCP
boost
库中
asio
的简单应用,
一个
服务器
一个
客户端
st_
asio
_wrapper一组
boost
.
asio
包装类(2.1版)
st_
asio
_wrapper是一组类,功能是对
boost
.
asio
的包装(调试环境:
boost
-1.51.0),目的是简化
boost
.
asio
开发; 其特点是效率高、跨平台、完全异步,当然这是从
boost
.
asio
继承而来; 自动重连,数据透明传输,自动解决分包粘包问题(你可以像udp一样使用它); 注:只支持tcp协议; 教程:http://blog.csdn.net/yang79tao/article/details/7724514 1.1版更新内容: 增加了自定义数据模式的支持,可用于st_
asio
_wrapper server与其它客户端的通信、或者st_
asio
_wrapper client与其它服务端的通信;当然,两端都是st_
asio
_wrapper的话,就用透明传输即可(1.0版
已经
支持了)。 1.2版更新内容: 修复BUG:当stop_service之后,再start_service时,client_base内部某些成员变量可能没有得到复位; 服务端增加修改监听地址功能,当然仍然要在start_service之前调用set_server_addr函数。 1.3版更新内容: 增加自定义消息格式的发送,这个本来是在1.1版本实现的,结果我漏掉了,只实现了自定义消息格式的接收。 1.4版更新内容: 将打包与解包器从client_base分离出来,以简化这个日益复杂的基类; 可以在运行时修改打包解包器。 1.5版更新内容: 增加ipv6支持,默认是ipv4,服务端和客户端都通过设置
一个
ipv6的地址来开启这个功能; 增加了一些服务端helper函数,小改了一下客户端set_server_addr函数签名(调换了两个参数的位置以保持和服务端一样)。 1.6版更新内容: 增加了接收消息缓存(改动较大,on_msg的语义有所变化,请看开发教程第三篇)。 1.7版更新内容: 修复vc2010下编译错误; 修复默认解包器BUG(同时修改解包器接口); 修复log输出BUG; 更好的包装了服务端类库,现在服务端可以像客户端一样简单的使用了(完全不用继承或者重写虚函数,申请
一个
对象即可); 结构大调整,类名大调整,请参看开发教程第一篇。 1.8版更新内容: 增加健壮性和稳定性; 退出服务更新优雅。 1.9版更新内容: 提高代码通用性; 可以指定服务端同时投递多少个async_accept; 修复BUG,此BUG可能造成数据发送不完全。 2.0版更新内容: 服务端增加对象池功能; 优化美化代码; 更规范化接口签名。 2.1版更新内容: 修复BUG,此BUG会造成st_client在stop_service之后,仍然可能尝试重新连接服务器; 在消息发送的时候,增加了
一个
参数can_overflow,用于确定是否在缓存满的时候返回失败,这在某些不能阻塞等待直到缓存可用的场合非常有用,比如on_msg; 当消息接收缓存满的时候,st_
socket
现在可以保证消息不丢失,之前的行为是调用on_recv_buffer_oveflow之后,丢弃消息; 更规范化接口签名; 更多更新请看st_
asio
_wrapper_
socket
.h,所有更新都会罗列在这个头文件的开头处,另外st_
asio
_wrapper_server.h的开头部分注释也很重要,有工作原理相关的说明。
工具平台和程序库
24,854
社区成员
27,345
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章