iOS环境下使用WebSocket的总结

一、概念

二、技术实现对比
https://en.wikipedia.org/wiki/Comparison_of_WebSocket_implementations

C/C++实现跨平台:
1、uWebSockets:

2、libwebsockets:
https://blog.csdn.net/yuanwei1314/article/details/76228495
2.1 下载源码
2.2 参考/READMEs/README.build.md,例如
mkdir build
cmake .. -DLWS_WITH_SSL=0
cmake -DOPENSSL_ROOT_DIR=/usr/local/ssl ..(前提是openssl已安装在系统目录)

2.3 运行bin目录下的libwebsocket-test-server,即可看到服务器已经运行在7681端口,打开浏览器输入127.0.0.1:7681,可以看到效果。

不过,上面方法我只能编译出来x86_64的库,编译真机的库请参考:
https://github.com/iTyran/libwebsockets

以下方法实操可行,但是只适用于旧版本,主干不行:
https://blog.csdn.net/zhuyunier/article/details/80192969
https://github.com/omochi/libwebsockets-ios-build

有人用OC封装了一套接口:
https://github.com/benlodotcom/BLWebSocketsServer

3、websocket++:
https://blog.csdn.net/mfcing/article/details/50118591

3.1、iOS平台编译:
3.1.1 编译boost
https://blog.csdn.net/hursing/article/details/45439087
https://blog.csdn.net/jwybobo2007/article/details/53931120

3.1.2 编译openssl
3.1.3 websocketpp是一个只包括头文件的库,所以你只需要把websocket++整个文件夹include到项目里即可使用;

上面是需要boost的,ASIO还有一个版本是不需要boost的,编译方法参考:
https://blog.csdn.net/wzw18610647847/article/details/80053866

4、Simple-WebSocket-Server:
https://gitlab.com/eidheim/Simple-WebSocket-Server

1、git clone下载源码
2、新建项目,导入下载回来的几个hpp头文件(该库是只包括头文件的库)
3、导入Asio源码,Build Settings->Other C++ Flags 添加 -DASIO_STANDALONE -DASIO_SEPARATE_COMPILATION -DUSE_STANDALONE_ASIO
4、导入openssl头文件和库
5、编译即可

5、CoreWebSocket:Web Socket Server and Client Library for iOS and OSX.
https://github.com/mirek/CoreWebSocket

三、自实现
https://blog.csdn.net/SGuniver_22/article/details/74273839

你可能感兴趣的:(iOS环境下使用WebSocket的总结)