uWebSockets使用过程

uWebSockets

最近领导要我用c++做一个websocket服务端,至于为毛一定要c++,不敢猜测领导的心思,我的想法是c++虽然效率高一点,但如果做的不好,或者使用的第三方库不明智(有bug或者使用有吴),更加得不偿失。我还是觉得用go做又快有好!
废话小说!
在网上查找了c++关于做websocket的文章都说uWebSockets好,是一个高效率、轻量级的websocket库,于是就开始下载体验。
下载地址:https://github.com/uNetworking/uWebSockets
看到好像作者一直在维护,这几天还有update,感觉应该不错。我用的github下载:
环境 CentOS Linux release 7.7.1908 (Core)

git clone https://github.com/uNetworking/uWebSockets.git
下载下来后:
ls uWebSockets
uWebSockets使用过程
绿色的是我后来编译出来的examples。
蓝岛makefile文件 直接make ,发现说缺少targert uSocket里面,纳闷了看看ls uSocket确实为空,看了下说名和百度找资料,可惜资料少的可伶。了解到uWebSockets依赖于uSocket,而正好 https://github.com/uNetworking下还有个uSockets的项目,于是直接删除uSockets目录,然后
git clone https://github.com/uNetworking/uSockets.git

下载下来,恩感觉还行,继续make
还是悲剧:g++: error: unrecognized command line option ‘-std=c++17’
需要c++17,
看了下自己的g++版本 4.8.5肯定是不支持。起码要7点几,于是就研究安装gcc了。
g++17安装过程请查看文章:
https://blog.****.net/qq_35537557/article/details/103165072
安装好之后 make 解决一系列小问题之后,居然make出来可执行文件了。
uWebSockets使用过程
还有一些小问题 好像不影响,开始执行,又经过一些小问题终于跑起来了!
网页测试结果:
uWebSockets使用过程
ok!就拿这个给领导交差算了。里面最坑的就是c++17,由于最近一直没接触c++新的东西,还要网上学资料。其中一个std::string_view 化了我一两个小时的时间。安装c++17 花了我大半天时间,再做下东西的修改测试总共花了我两天时间,没关系反正领导给得起时间,半天就能干完的事情,人家愿意给两三天,人家乐意!