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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

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