DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2014年6月13日

摘要: Linux是一类Unix计算机操作系统的统称,Linux操作系统的内核的名字也是“Linux”, 在Linux下进行C++开发,需要注意许多问题,比如:减少不必要的编辑动作,减少编辑的时间。 Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇... 阅读全文
posted @ 2014-06-13 23:40 DoubleLi 阅读(8829) 评论(1) 推荐(0)

摘要: asio的主要用途还是用于socket编程,本文就以一个tcp的daytimer服务为例简单的演示一下如何实现同步和异步的tcp socket编程。客户端客户端的代码如下:#include#include#includeusingboost::asio::ip::tcp;intmain(intarg... 阅读全文
posted @ 2014-06-13 16:58 DoubleLi 阅读(440) 评论(0) 推荐(0)

摘要: 创建buffer在io操作中,对数据的读写大都是在一个缓冲区上进行的,在asio框架中,可以通过asio::buffer函数创建一个缓冲区来提供数据的读写。buffer函数本身并不申请内存,只是提供了一个对现有内存的封装。chard1[128];size_tbytes_transferred = s... 阅读全文
posted @ 2014-06-13 16:56 DoubleLi 阅读(507) 评论(0) 推荐(0)

摘要: boost::asio设置同步连接超时CSDN上求助无果,只好用自创的非主流方法了。asio自带的例子里是用deadline_timer的async_wait方法来实现超时的,这种方法需要单独写一个回调函数,不利于把连接和超时封装到单个函数里。传统的Winsock编程可以先把socket设为非阻塞,... 阅读全文
posted @ 2014-06-13 14:45 DoubleLi 阅读(5401) 评论(6) 推荐(0)

摘要: //test.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include#include#include#includeusingnamespaceboost::asio;usingboost::asio::ip::tcp;classconnect_handler{... 阅读全文
posted @ 2014-06-13 14:41 DoubleLi 阅读(6230) 评论(0) 推荐(0)

摘要: 一般而言我们创建用于接收error的类型大多声明如下:boost::system::error_code error 我们用这个类型去接受在函数中产生的错误如socket.connect( endpoint, error);如果连接失败,错误类型会保存到error中,比如连接主机失败可能会返回这样... 阅读全文
posted @ 2014-06-13 09:32 DoubleLi 阅读(2529) 评论(0) 推荐(0)

摘要: ●boost锁的概述boost库中提供了mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁。▲mutex对象类mutex类主要有两种:boost::mutex,boost::shared_mutex,其中mutex有lock和unlock方法,shared_mutex除了提供lock和u... 阅读全文
posted @ 2014-06-13 09:16 DoubleLi 阅读(2141) 评论(0) 推荐(0)

摘要: 1.boost里的互斥量类型由mutex表示。代码示例:12345678910111213141516171819202122232425#include #include #include #include #include usingnamespacestd;usingnamespaceboos... 阅读全文
posted @ 2014-06-13 08:59 DoubleLi 阅读(1031) 评论(0) 推荐(0)