socket.io 官网的C++版的客户端。https://github.com/socketio/socket.io-client-cpp
并不依赖boost了,所以相对比较好安装,但是还是有不少明坑,暗坑。还是得写下来
自带的example太复杂了,一个简单的控制台程序塞进大量没P用的东西,什么mutex都来了。https://github.com/socketio/socket.io-client-cpp/blob/master/examples/Console/main.cpp
自己写1个精简版的控制台,特定windows平台下VS2019。
一、编译
1.1 openssl
参考 https://www.cnblogs.com/dshvv/p/12271280.html
1.1.1 直接下载windows x64的编译好的版本:http://slproweb.com/products/Win32OpenSSL.html
1.1.2 安装到 D:\lib\OpenSSL-Win64
1.1.3 建立2个环境变量,以后似乎是openssl自用,1个是下面cmake编译socket.io-client-cpp需要的。这里全都设置好
OPENSSL_HOME
D:\lib\OpenSSL-Win64\bin
OPENSSL_ROOT_DIR
D:\lib\OpenSSL-Win64
1.2 下载编译
基本就是按官网 https://github.com/socketio/socket.io-client-cpp/blob/master/INSTALL.md#with-cmake
1.2.1 下载
git clone --recurse-submodules https://github.com/socketio/socket.io-client-cpp.git
一旦遇到任何433 Time out
请直接设置代理。
注意直接全局设置代理:
git config --global http.proxy 127.0.0.1:1080
而不要只在这一个语句设置代理。
$ git clone --recurse-submodules https://github.com/socketio/socket.io-client-cpp.git --config "http.proxy=127.0.0.1:1080"
否则只是下载socket.io-client-cpp时用到了代理,而下载依赖工程的时候,还是不用代理。
或者10053 啥的错误,
git config --global http.sslVerify "false"
1.2.2 编译
安装cmake。win10越搞越麻烦 https://www.cnblogs.com/xuanmanstein/p/15637571.html
cd 到 clone下来的源码 路径 :比如 D:\lib\socket.io-client-cpp
cmake ./
会在这里产生vs2019版本的 sln
注意不要直接打开。而是要在开始菜单,找到vs2019的图标,右键,"更多"-> "以管理员身份运行" (否则会在INSTALL时报错 setlocal,没有管理员权限就不能在C盘创建文件夹)
然后再选这个sln,选择,release x64
然后就简单了,在项目管理器里先生成 ALL_BUILD 再 INSTALL。
会在C:/Program Files (x86) 创建出1个sioclient文件夹
里面include里3个.h文件:
sio_client.h
sio_message.h
sio_socket.h
lib里2个静态库lib
sioclient.lib
sioclient_tls.lib
把sioclient文件夹整体复制到d:/lib里,作为自己demo使用的依赖项。
至此编译完毕。
二、测试