博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Socket.io 延伸
阅读量:7126 次
发布时间:2019-06-28

本文共 1320 字,大约阅读时间需要 4 分钟。

项目正好用到了即时通讯功能,于是研究到了webSocket技术,后来发现了可以在web、[Android]、[iOS]上同时使用的解决方案,那就是SocketIO。其实现原理啥的不做介绍了,直接贴上IOS项目可能会用到的一些资源。

首先是官网:这个大家都不会陌生吧~~

1、官方推荐的Android项目:

github上的相应地址为:

2、官方推荐的IOS--项目:

github上的相应地址为:

另外如果你需要oc版本的,可以参考这里:socket.io v0.7.2 — 0.9.x for iOS and OS X

3、官方推荐的C++项目:

github上的相应地址为:

另外还有一个匿名的聊天室可以让你测试用:

// 关于配置的那些坑 及 WebSocket开发的原理

由于IOS端官网只有介绍Swift的代码,如果需要使用到OC版就需要在github下载非官方的版本,在与后台的各种折腾中,终于发现非官方的OC版本配置不兼容后台的需求,重新换了Swift官方版本才行,在OC项目中桥接Swift文件即可。

后台采用workman开源推送机制,将消息即时发送到客户端,原理和WebViewJavascriptBridge类似,据了解微信也是使用这种机制,只是框架可能有所不同,由于后台是开源服务器,所开发的难度并不大,只是时间成本的问题;

// 在使用key值时,需要与后台进行对应配置,

// 如下是指发送消息 根据“group chat” key值去指向服务器所对应的方法,将数据传递过去

socket.on("group chat") { (dataArray, socketAck) -> Void invar messageDictionary = [String: AnyObject]() print("group chat dataArray = %@",dataArray) let messageDict = dataArray[0]; messageDictionary["username"] = messageDict["username"] messageDictionary["message"] = messageDict["message"] print("messageDictionary = %@",messageDictionary) completionHandler(messageInfo: messageDictionary) }

// 如下是监测服务器的通知 根据“disconnect” key值去调用所需要处理的对应方法即可

在配置的使用过程中,采用统一形式的回调Block形式即可,方法非常简洁,有问题欢迎留言

参考链接:
0.http://www.infoq.com/cn/news/2015/01/socket-io-websocket
1.http://www.jianshu.com/p/a7757baf3bad
2.http://www.imooc.com/article/3453
3.http://www.jianshu.com/p/f643d74e6732
 

转载地址:http://xohel.baihongyu.com/

你可能感兴趣的文章
高考将至,听听那些关于高考的经典段子吧
查看>>
如何在树莓派上使用图片特效
查看>>
《PHP和MySQL Web开发从新手到高手(第5版)》一一2.7 查看存储的数据
查看>>
在 Linux 下使用 RAID(六):设置 RAID 10 或 1 + 0(嵌套)
查看>>
《Adobe Fireworks CS5中文版经典教程》——1.6 撤销操作
查看>>
《Cucumber:行为驱动开发指南》——2.2 创建一个特性
查看>>
企业IT架构转型之道:阿里巴巴中台战略思想与架构实战. 1.2 企业信息中心发展的症结...
查看>>
《精通Python网络爬虫:核心技术、框架与项目实战》——第一篇 Part 1 理论基础篇 第1章 什么是网络爬虫 1.1 初识网络爬虫...
查看>>
蚂蚁金服寒泉子:JVM源码分析之临门一脚的OutOfMemoryError完全解读
查看>>
插入排序
查看>>
跨域iframe高度自适应 改进版(兼容)
查看>>
[Python爬虫] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题...
查看>>
codeforces B - Preparing Olympiad(dfs或者状态压缩枚举)
查看>>
《深入理解并行编程》中文版
查看>>
lintcode Permutation Index
查看>>
线程管理(八)在线程里处理不受控制的异常
查看>>
Cookie问题(烦了三天)
查看>>
Java之道系列:Annotation实现浅析
查看>>
(NO.00003)iOS游戏简单的机器人投射游戏成形记(二十)
查看>>
Nokia S60真机的全屏getHeight()返回值BUG说明
查看>>