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,例如
cd /path/to/src mkdir build
cd build cmake .. -DLWS_WITH_SSL=0
make && sudo make install 即可生成不使用ssl的库,include是头文件,lib是库文件。 如果要使用ssl,则用命令 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 获取相册数据 http://kayosite.com/ios-development-and-detail-of-...
    0271fb6f797c阅读 1,635评论 0 1
  • 本系列出于AWeiLoveAndroid的分享,在此感谢,再结合自身经验查漏补缺,完善答案。以成系统。 图片 图片...
    济公大将阅读 1,279评论 0 4
  • 以前的一些收藏,后续再整理格式 如何使用git管理代码版本http://www.cocoachina.com/io...
    安好99阅读 1,078评论 0 4
  • 夫妻关系很微妙,有时明明想和对方好,确不肯低下头。退一步,给对方一个台阶,一次机会,也是给自己一次成长的机会。 如...
    董君_9325阅读 98评论 0 0
  • 清远的徒弟带来消息,儿子之后生了女儿,事业又顺利,中午听弟弟说让弟弟的绘本团队去服务,感恩我的幼师,曾经跟了...
    罗海苑阅读 135评论 0 3