iOS【开发即时通讯 SocketIO
来源:互联网 发布:厦门大学网络教育报名 编辑:程序博客网 时间:2024/05/16 08:40
项目正好用到了即时通讯功能,于是研究到了webSocket技术,后来发现了可以在web、[Android]、[iOS]上同时使用的解决方案,那就是SocketIO。其实现原理啥的不做介绍了,直接贴上IOS项目可能会用到的一些资源。
首先是官网:http://socket.io/ 这个大家都不会陌生吧~~
1、官方推荐的Android项目:http://socket.io/blog/native-socket-io-and-android/
github上的相应地址为:https://github.com/nkzawa/socket.io-android-chat
2、官方推荐的IOS--Swift项目:http://socket.io/blog/socket-io-on-ios/
github上的相应地址为:https://github.com/socketio/socket.io-client-swift
另外如果你需要oc版本的,可以参考这里:socket.io v0.7.2 — 0.9.x for iOS and OS X https://github.com/pkyeck/socket.IO-objc
3、官方推荐的C++项目:http://socket.io/blog/socket-io-cpp/
github上的相应地址为:https://github.com/socketio/socket.io-client-cpp
另外还有一个匿名的聊天室可以让你测试用:http://chat.socket.io/
// 关于配置的那些坑 及 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形式即可,方法非常简洁,有问题欢迎留言
- iOS【开发即时通讯 SocketIO
- socketIO-IOS实现即时通讯
- iOS Client 与WebSocket 通信 入门demo 即时通讯 socketio
- netty-socketio即时通讯
- iOS 即时通讯 SDK开发包
- ios即时通讯客户端开发之
- iOS开发-即时通讯环信
- SocketIO --- iOS使用篇
- IOS开发,XMPP实现聊天,即时通讯(一)
- IOS开发,XMPP实现聊天,即时通讯(二)
- IOS开发,XMPP实现聊天,即时通讯(三)
- IOS 即时通讯开发平台(SDK)
- iOS/Android开发即时通讯SDK列表
- iOS开发之即时通讯之环信
- iOS开发即时通讯环境搭建-XMPP
- ios开发之即时通讯socket(AsyncSocket)
- iOS开发即时通讯环境搭建-XMPP
- iOS开发:环信实现即时通讯
- pat1014
- rabin-karp 算法学习心得-lintcode 594
- Web安全笔记整理
- 实战6.SparkSQL(中)--深入了解SparkSQL运行计划及调优
- 复杂度
- iOS【开发即时通讯 SocketIO
- 实战6.SparkSQL(下)--Spark实战应用
- 移植 Nginx+PHP(FastCGI) 到 ARM Linux (一)
- 安卓behavior详解1--系统behavior的简单应用
- AOP和IOC
- 数据库三:浅谈数据库事务(transaction)
- 【Java概念】运算符(3)
- 各种hash算法合集
- 实战7.Spark Streaming(上)--Spark Streaming原理介绍