boost网络编程一般需要的五步

来源:互联网 发布:virtualbox安卓软件 编辑:程序博客网 时间:2024/06/05 08:35

第一,引入头文件和库文件,这个一定需要的,否则编译都不通过。

第二,声明一个全局的,或类成员变量的io_service对象,这是整个异步事件的根基,如果这个变量没了,所有异步事件都会出错。

第三,声明一个io_service::work对象,参数为io_service对象,并启动一个线程,让io_service::run在另一个线程中遍历io_service对象,run相当于循环遍历io_service中的异步事             件,构造work变量可以让io_service对象中没有事件时run循环不退出,将work变量也声明为全局的。这个很关键,因为不可能一次把所有的异步事件都注册给io_service,所以不能让io_service在没               有事件时让run退出。

第三,声明一个socket,这个socket需要io_service对象作为参数,因为socket要用来进行异步通信,所以少不了io_service这个根基。

第四,客户端跳过,服务端需要一个acceptor对象作为守候连接的对象,需要io_service对象作为参数。

第五,服务端启动异步接收,客户端启动异步连接。

0 0
原创粉丝点击