曾几何时,Boost中有一个Socket库,但后来没有了下文,C++社区一直在翘首盼望一个标准网络库的出现,网络上开源的网络库也有不少,例如Apache Portable Runtime就是比较著名的一个,也有像ACE这样重量级的网络框架。去年,Boost将ASIO纳入了自己的体系,由于Boost的...
分类:
编程语言 时间:
2015-10-29 06:18:55
阅读次数:
2648
在一般的C++ project 中可以通过定义宏?WIN32_LEAN_AND_MEAN 来解决,或者在#include <windows.h>之前加入#include <winsock2.h> 我的解决办法是在stdafx.h中 #define?WIN32_LEAN_AND_MEAN...
刚开始的时候一直不知道怎么回事,不过幸好我有在每个class 的析构时都打印一条信息。这个时候发现我的一个tcp_connection (就是自定义的一个连接类) 在最后才被析构。所以感觉这里可能出了问题。由于tcp_connection 是派生自boost::enable_shared_from_...
分类:
其他好文 时间:
2015-10-15 12:48:49
阅读次数:
249
Boost.Asio-其他特性这章我们讲了解一些Boost.Asio不那么为人所知的特性。标准的stream和streambuf对象有时候会更难用一些,但正如你所见。它们也有它们的益处。最后,你会看到姗姗来迟的Boost.Asio协程的入口,它能够让你的异步代码变的很易读。这是很惊人的一个特性。标准...
分类:
编程语言 时间:
2015-10-14 19:34:56
阅读次数:
228
POCO的优点:1)比boost更好的线程库,特别是一个活动的方法的实现,并且还可设置线程的优先级。2)比boost:asio更全面的网络库。但是boost:asio也是一个非常好的网络库。3)包含了一些Boost所不包含的功能,像XML,数据库接口等。4)跟Boost相比,集成度更高,是更加统一的一个库..
分类:
编程语言 时间:
2015-10-12 02:08:39
阅读次数:
276
cocos2d-x官方没有封装原生socket,只提供了websocket,如果我们需要socket,不同团队有不同的造轮子的方案,其中使用Asio库的比较多,但是Asio库太过于庞大,我不太想用。其实只需要简单封装一下bsd socket就好了,几十行代码而已。注意如果在android中测试,需要...
分类:
移动开发 时间:
2015-09-22 12:58:35
阅读次数:
395
下面是boost官方给出的ssl服务端例子: 首先,声明了一个流类型的socekt 用来作为socket对象: 1: typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket> ssl_socket; 接下来是session类: 1: cla...
分类:
其他好文 时间:
2015-09-02 17:28:11
阅读次数:
296
boost/asio库中封装了很多关于scoket的函数,当然,asio库还包含很多底层的库。
我们可以用socket编写一个基于UDP协议的黑框通讯程序。
要想使用asio里面的函数,大多都需要先创建一个io_service对象,然后通过这个serveice来构造不同的对象,所以第一步,我们得创建两个对象:
boost::asio::io_service io_service;
b...
分类:
其他好文 时间:
2015-08-27 13:32:56
阅读次数:
255
今天主要想说道说道boost里面的网络通信库如何设计和使用,因为最近一直在和网络一起工作,大数据处理和机器学习都离不开最后使用网络进行上线部署。先看看全部的源代码吧。
#include
#include
#include
#include
#include
#include
#include "data.h"
#include
#include
#include
using ...
分类:
其他好文 时间:
2015-08-19 13:27:21
阅读次数:
262
在purecpp社区的github组织中有一个协程库:https://github.com/topcpporg/cpp_features 近日有用户找到我,想要了解一下coroutine库在网络方面的性能,于是选取已入选标准库的boost.asio网络库的异步模型做横向对比。 在小包和利用多...
分类:
其他好文 时间:
2015-08-13 13:52:42
阅读次数:
1475