boost
zhongjiezheng
这个作者很懒,什么都没留下…
展开
-
Boost.asio实现的同步、异步TCP通信的简单例子
每个asio程序都必须有io_server对象。对于服务端和客户端都需要socket对象,通过socket对象的成员函数进行连接和数据通信。服务端需要 acceptor对象来等待连接。下面的例子是用C++11和boost1.57编写的。同步TCP通信服务端#include <boost/asio.hpp>#include <iostream>using namespace boost::asio原创 2015-03-19 23:13:49 · 8827 阅读 · 5 评论 -
深入Boost.asio的异步Tcp通信的server、client,可用来当程序骨架。
程序功能:客户端用名字登录服务端连接由客户端驱动,客户端请求,服务端应答所有的请求和应答都以\n结尾当客户端在5秒内没有发ping请求,服务端就关闭连接客户端可以请求所有已经建立连接的用户列表客户端可以发ping请求,服务端应答 ping ok或者ping client_list_chaned,客户端收到 ping client_list_chaned后会重新请求用户列表让程序变得有意原创 2015-03-20 00:11:40 · 5914 阅读 · 0 评论 -
boost.asio定时器dealine_timer,实现可以随时控制启动停止和设置时间。
dealine_timer类的成员函数![这里写图片描述](http://img.blog.csdn.net/20150317163110237)定时器dealine_timer有两种形式的构造函数,都要求有一个io_service对象,用于提交IO请求,第二个参数是定时器的终止时间,可以是posix_time的绝对时间点或者是自当前时间开始的一个时间长度。一旦定时器对象创建,它就立即开始计时原创 2015-03-17 16:41:44 · 5281 阅读 · 0 评论 -
Boost.Asio 异步执行方法,post()\dispach()\wrap().
Asio中的异步操作不仅包括 异步的客户端服务端的连接和异步的数据读写,还包括很多可以异步执行的操作。 Asio中有三种方式异步执行你指定的方法:post()、dispach()、wrap()。post()这个方法能立即返回,并且请求一个io_service实例调用制定的函数操作(function handler),之后会在某一个盗用io_service.run()的线程中执行。dispach原创 2015-03-23 22:30:31 · 12477 阅读 · 1 评论