前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS环境下使用WebSocket的总结

iOS环境下使用WebSocket的总结

作者头像
动动我试试
发布2020-04-01 18:10:29
2.6K0
发布2020-04-01 18:10:29
举报
文章被收录于专栏:zhimingcowzhimingcow

一、概念

二、技术实现对比 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
cd /path/to/src

mkdir build

cd build
cd build

cmake .. -DLWS_WITH_SSL=0

make && sudo make install 即可生成不使用ssl的库,include是头文件,lib是库文件。 如果要使用ssl,则用命令
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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档