一. 使用
废话不多说,笔者在这里主要告诉大家在iOS中怎么使用webSocket,如果感觉可以的话,请点个赞哦.
在iOS下有一个第三方框架SocketRocket.其实使用这个框架很简单,只要导入进来,实现代理方法即可.
_webSocket = [[SRWebSocket alloc]initWithURLRequest:request];//创建SRwebSocket对象
_webSocket.delegate = self;
[_webSocket open];//打开webSocket
- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message;//接收webSocket返回回来的数据
- (void)webSocketDidOpen:(SRWebSocket *)webSocket;//webSocket打开之后我们需要做的操作
- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error;//接收错误信息
- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean;//webSocket关闭
- (void)webSocket:(SRWebSocket *)webSocket didReceivePong:(NSData *)pongPayload;//获取波动
当然,笔者在使用webSocket的时候会碰到坑,这里笔者建议,在使用如果碰到问题,可以跟服务器联调,以避免不必要的时间浪费.
二. 原理
其实,网上很多,笔者这里是懒得搬!简单介绍一下.
webSocket是H5一种新的协议,他实现的是浏览器与服务器的双工通讯.
这里提一下,在http协议中1.0的时候是轮询,2.0的时候是长链接,也就是我们常说的TCP三次握手,3.0呢就是webSocket了,它取代了单个的TCP套接字,使用的ws,wss协议,用于双向推送消息.目前webSocket在浏览器内聊天是最突出的应用.简单的来说呢,webSocket就是为了实现管道通信.
WebSocket资源
Socket.IO站点:http://socket.io/
WebSocket的Wikipedia:http://en.wikipedia.org/wiki/WebSockets
WebSockets.org站点:http://www.websockets.org/
Dojo WebSocket站点:http://www.sitepen.com/blog/2010/10/31/dojo-websocket/