原文网址:http://blog.csdn.net/zmp1123/article/details/44015507
WebSocket:
WebSocket通信协议实现的是基于浏览器的原生socket,维基百科上解释:“WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,WebSocketAPI被W3C定为标准。在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];
- }