安装环境:Ubuntu 18.04
安装Boost
命令直接安装
sudo apt-get install libboost-dev
手动安装参考
下载版本:boost_1_65_1.tar.bz2
1、 tar -xf boost_1_65_1
2、 sudo ./bootstrap.sh
3、 sudo ./b2 install(不加sudo可能出现权限不够导致无法创建文件夹的问题出现)
安装WebSocket++
1、 git clone https://github.com/zaphoyd/websocketpp (将websocketcpp下载到本地)
2、 cd websocketcpp (进入websocketcpp目录)
3、 mkdir build (创建build目录,存放cmake生成的中间文件)
4、 cd build (进入build目录)
5、 cmake .. (执行CMakeList.txt)
6、 make
7、 make install
测试安装
1、 cd websocketpp/examples/echo_server
2、 g++ -o echo_server echo_server.cpp -lboost_system -lpthread(编译链接echo_server)
3、 ./echo_server(启动服务器端)
4、 cd websocketpp/examples/echo_client(编译链接echo_client)
5、 g++ -o echo_client echo_client.cpp -lboost_system -lpthread(启动客户端)
6、 ./echo_client
遇到问题
以编译echo_server为例
1、直接使用 g++ -o echo_server echo_server.cpp编译会出现如下问题
解决方案
编译时需要添加库文件libboost_system,在命令中加上-lboost_system
2、增加 -lboost_system,如果遇到以下所示问题
/usr/bin/ld: cannot find -lboost_system
解决方案
首先可以使用命令:ld -lboost_system --verbose,查看打开文件的详细过程
(一般原因是因为未添加软链接)
使用命令:locate libboost_system,查看boost_system库文件所在目录
进入所在目录添加软链接,以笔者机器上/usr/lib/x86_64-linux-gnu目录为例
ln -s /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 /usr/lib/x86_64-linux-gnu/libboost_system.so
3、运行命令 g++ -o echo_server echo_server.cpp -lboost_system 时
如果出现以下问题
解决方案
在命令中添加 -lpthread,g++ -o echo_server echo_server.cpp -lboost_system -lpthread
成功界面
服务器端启动结果
客户端启动结果
使用websocket在线测试:http://www.blue-zero.com/WebSocket/