![24ce04217c63654bbb19b644ccfefcbd.png](https://i-blog.csdnimg.cn/blog_migrate/dddc15347b851a7f9eb7afd6b03478d4.jpeg)
安装环境: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编译会出现如下问题
![558129a80639e40f1b8a1d10793cd7e8.png](https://i-blog.csdnimg.cn/blog_migrate/dd802bb93da8178be506fba10ce0e0ea.png)
解决方案
编译时需要添加库文件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 时
如果出现以下问题
![6e7074f31b4a829b76b75d2bfe368a29.png](https://i-blog.csdnimg.cn/blog_migrate/64c76d63868f933a25692eff961ad5fe.png)
解决方案
在命令中添加 -lpthread,g++ -o echo_server echo_server.cpp -lboost_system -lpthread
成功界面
服务器端启动结果
![b74f2c79f10283bacaf7bbbf942d8a50.png](https://i-blog.csdnimg.cn/blog_migrate/d08484e5728784c7a9a92b3b55418b96.png)
客户端启动结果
![1cb871f6cb4cf6bf190d5fc399020547.png](https://i-blog.csdnimg.cn/blog_migrate/37c9a4dd61403ccb451100cbb1f845b2.png)
使用websocket在线测试:http://www.blue-zero.com/WebSocket/
![d3565b46885f0ef99a80c5846f182b5a.png](https://i-blog.csdnimg.cn/blog_migrate/f364d8dd21d6c2dff1e734780e757db1.jpeg)
![1e8df3a5488b2ee901410ff995511c88.png](https://i-blog.csdnimg.cn/blog_migrate/a37324a1fb4785c4fa66482002c312ef.jpeg)