福彩3D走势图

ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:福彩3D走势图 >> 网络编程 >> IOS开发 >> iOS WebSocket长链接

iOS WebSocket长链接(1/2)

来源:网络整理     时间:2018-11-01     关键词:

本篇文章主要介绍了" iOS WebSocket长链接",主要涉及到方面的内容,对于IOS开发感兴趣的同学可以参考一下: WebSocketWebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TC...

WebSocket

WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上,同 HTTP 一样通过 TCP 来传输数据,但是它和 HTTP 最大不同是:WebSocket 是一种双向通信协议.

由于项目需要创建一个聊天室,需要通过长链接,和后台保持通讯,进行聊天,并且实时进行热点消息的推送.

目前Facebook的SocketRocket应该是目前最好的关于SocketRocket使用的框架了.而且简单易用.

使用

一般一个项目在启动后的某个时机会启动创建一个长链接,如果需要多个就多次创建。如果只要一个就可以封装为一个单例,全局使用。

可以使用podpod管理库, 在podfile中加入

pod 'SocketRocket'

在使用命令行工具cd到当前工程 安装

pod install

导入头文件后即可使用.

福彩3D走势图为求稳定,我的做法是copy的FaceBook里SocketRocket库到项目里. -->SocketRocket地址

1.首先创建一个名为WebSocketManager的单例类,

+(instancetype)shared;

2.创建一个枚举,分别表示WebSocket的链接状态

typedef NS_ENUM(NSUInteger,WebSocketConnectType){
    WebSocketDefault = 0,   //初始状态,未连接,不需要重新连接
    WebSocketConnect,       //已连接
    WebSocketDisconnect    //连接后断开,需要重新连接
};

3.创建连接

//建立长连接
- (void)connectServer;

4。处理连接成功的结果;

-(void)webSocketDidOpen:(RMWebSocket *)webSocket; //连接成功回调

5.处理连接失败的结果

- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error;//连接失败回调

6.接收消息

///接收消息回调,需要提前和后台约定好消息格式.
- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessageWithString:(nonnull NSString *)string

7。关闭连接

- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean;///关闭连接回调的代理

8.为保持长链接的连接状态,需要定时向后台发送消息,就是俗称的:心跳包.

需要创建一个定时器,固定时间发送消息。

9。链接断开情况处理:

首先判断是否是主动断开,如果是主动断开就不作处理。

如果不是主动断开链接,需要做重新连接的逻辑。

具体代码如下:

WebSocketManager。h 中的代码

上一篇模仿微信朋友圈视频播放 下一篇:没有了

相关图片

福彩3D走势图相关的文章

江苏体彩七位数201分析 体彩排列3中奖规则 福彩双色球除八走势图 体彩超级大乐透周一走势图 福彩东方6 1走势图 体彩排列3走势图 齐鲁风采23选5连号分布图 河北福彩20选5走势图 华东15选5尾数走势图 福彩3D走势图南粤风采36选7走势图 江苏体彩7位数号码遗漏数据 福彩双色球周四走势图 河南福彩22选5走势图 体彩七星彩开奖结果 福彩双色球201走势图 福彩3D走势图 南粤风采26选5走势图 体彩超级大乐透复式计算器 河南福彩22选5开奖结果查询 江苏体彩七位数游戏规则