SocketRocket:iOS WebSocket客户端开源框架

来源:互联网 发布:淘宝店运行助手在哪里 编辑:程序博客网 时间:2024/06/06 05:34

WebSocket:

WebSocket通信协议实现的是基于浏览器的原生socket,维基百科上解释:“WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,WebSocketAPIW3C定为标准。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。”

客户端在握手成功后,会触发WebSocket对象的onopen事件,告诉客户端连接已经成功建立了。客户端的WebSocket对象一共绑定了四个事件:

1、onopen:连接建立时触发;

2、onmessage:收到服务端消息时触发;

3、onerror:连接出错时触发;

4、onclose:连接关闭时触发;

SocketRocket:

它是采用OC编写的一个WebSocket客户端,来实现客户端与服务器的双向通信。

特性:

支持TLS(wss);

使用NSStream/CFNetworking;

使用ARC;

采用并行构架,大部分的工作由后端的工作队列完成;

基于委托编程。

SocketRocket Demo下载地址:https://github.com/square/SocketRocket

接着,只需要修改URL(ws:121.40.189.16:8888)部分,就可以实现简单的通信测试。

- (void)_reconnect;{    _webSocket.delegate = nil;    [_webSocket close];        _webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"ws://121.40.189.16:8888"]]];    _webSocket.delegate = self;        self.title = @"Opening Connection...";    [_webSocket open];}



0 0