
Boost
程序员Linc
资深技术专家,专注移动开发与人工智能领域15年+
展开
-
buffer几种用法
<br />chard1[128];size_tbytes_transferred=sock.receive(boost::asio::buffer(d1));buffer 大小是自动管理的同样std::vector<char>d2(128);bytes_transferred=sock.receive(boost::asio::buffer(d2));还可以基于boost::arrayboost::array<char,128>d3;bytes_transferred=sock.receive(boost转载 2010-11-30 10:46:00 · 6735 阅读 · 0 评论 -
Boost.Bind的基础使用
<br />当我们使用函数时习惯于C函数的格式,即如下形式<br />resulttype funname( arglist );<br />返回值类型 函数名( 参数列表 );<br /><br />在Boost.Function中,我们可以方便的定义定义函数对象。不过在定义用来表示类成员函数的函数对象时<br />第一个参数是类指针。而且在调用时,要传入一个类实例的指针。这样用起来并不是很方便,因为调用者<br />要知道类实例。这实际上没有实现解耦。而解耦是我们使用回调或委托设计的一个目标。<br /转载 2010-11-12 14:45:00 · 2038 阅读 · 0 评论 -
Asio实现的实用echo server
关于echo的简单server,几乎多得发指,但大部分都没有提供类似粘包,定时器,安全退出等开发中的常用机制,换句话说,为了echo而echo,借鉴价值大打折扣,毕竟我们平时的工作不可能这么简单。这几天研究了下asio,感觉不错,boost接纳asio后,在服务器开发领域是不是该得到重视呢:),还是贴代码吧,有注释// asio.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//禁止boost自动链接静态库#define BOOST_ALL_DYN_LIN转载 2010-11-16 18:51:00 · 2039 阅读 · 0 评论 -
用Boost获得当前时间
想获得时间格式为 2011/1/12 8:52:31,本以为是很easy的事情,c#中就是简单的DateTime.Now而已,但posix_time库里没有合适的函数(也许我没找到?),希望高人能指点~~ using namespace boost::posix_time; ptime now = second_clock::local_time(); string now_str = to_iso_extended_string(now.date()) + " " + to_simple_st原创 2011-01-12 08:59:00 · 14437 阅读 · 1 评论 -
通过端口映射突破防火墙
<br />本文转自:http://www.csharpwin.com/csharpspace/2244.shtml<br /> <br /> <br />在我做的项目中,经常遇到一种如下形式的网络结构。<br /> <br />出于安全的考虑,server处于防火墙之后,client无法直接访问,只能通过telnet登陆到proxy server上访问。在这种方式下,就无法利用cient上的各种强大的桌面工具(如数据库客户端等),只能通过telnet的命令行形式交互,确实有些不便。<br />我们可以通过转载 2011-01-24 09:34:00 · 3141 阅读 · 0 评论 -
boost::thread用法
<br />本来想自己写一篇关于boost thread的文章来着,从网上一搜,觉得这篇文章入门最合适了。<br />转自:http://www.cppblog.com/janvy/archive/2010/03/25/110498.aspx<br /> <br /><br />最近在做一个消息中间件里面涉及到多线程编程,由于跨平台的原因我采用了boost线程库。在创建线程时遇到了几种线程创建方式现总结如下: <br /> 首先看看boost::thread的构造函数吧,boost::thread有两个转载 2011-02-09 10:09:00 · 9638 阅读 · 2 评论 -
解决boost::asio的WinSock.h has already been included
<br /> <br />本文转自:http://blog.youkuaiyun.com/gzlyb/archive/2010/09/08/5870326.aspx<br /> <br />用如下第一条搞定:<br />#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers#include "windows.h" <br /> <br />开始使用boost::asio库时,编译碰到这个错误提示:<br />f转载 2011-03-10 10:50:00 · 8622 阅读 · 0 评论