socket.io-poco
相较于socket.io官方推荐的C++库
虽然socket.io-poco的功能和协议版本不及官方库
但是依赖关系简单 仅需要编译poco
而官方库依赖于boost 实在太庞大 也很难移植到嵌入式应用中去
github仓库地址: https://github.com/himynameschris/socket.io-poco
socket.io-poco是一个C++写的socket.io协议栈 用来和node.js服务端进行socket.io通讯 依赖于poco库和cmake
编译流程
1. git clone https://github.com/himynameschris/socket.io-poco
2. cd third_party
3. ./installDependencies.sh
这里会将依赖的poco库下载并编译出库文件
4. cd .. 回到顶层目录
5. cd build
6. cmake -DCOMPILE_EXAMPLES=ON ..
7. make
make后生成的test bin文件和库文件位于顶层目录下的bin目录
make出错的话 如果你使用的是g++4.8这样比较低的版本 请在顶层的cmake脚本中增加C++11的语法声明
set(CMAKE_CXX_STANDARD 11)
低版本的g++可能需要这个声明
这个我已经向原项目提交修改修正它
测试
1. 首先要把node.js服务端运行起来
服务端的测试代码位于src/examples/server.js
测试环境需要安装node.js工具链
npm install
npm start
node server.js
2. 回到bin目录
3. 执行
./socketiopoco_example
执行的过程中可能运行js服务端会出现很多错误 不过一般百度做些修改就可以解决
socketiopoco_example如果不先运行js服务端就会connect失败 由于原代码没有检查返回值而是继续运行 所以会出现段错误
我已经向项目提交了commit来修正它.