博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】SocketRocket:iOS WebSocket客户端开源框架
阅读量:5864 次
发布时间:2019-06-19

本文共 946 字,大约阅读时间需要 3 分钟。

原文网址:http://blog.csdn.net/zmp1123/article/details/44015507

WebSocket:

WebSocket通信协议实现的是基于浏览器的原生socket,维基百科上解释:“WebSocket是开始提供的一种在单个 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下载地址:

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

[objc]   
 
  1. - (void)_reconnect;  
  2. {  
  3.     _webSocket.delegate = nil;  
  4.     [_webSocket close];  
  5.       
  6.     _webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"ws://121.40.189.16:8888"]]];  
  7.     _webSocket.delegate = self;  
  8.       
  9.     self.title = @"Opening Connection...";  
  10.     [_webSocket open];  
  11.   
  12. }  
你可能感兴趣的文章
Android TabActivity使用方法
查看>>
java ShutdownHook介绍与使用
查看>>
Eclipse的 window-->preferences里面没有Android选项
查看>>
《麦田里的守望者》--[美]杰罗姆·大卫·塞林格
查看>>
[置顶] 深入探析Java线程锁机制
查看>>
遇到的那些坑
查看>>
央行下属的上海资信网络金融征信系统(NFCS)签约机构数量突破800家
查看>>
[转] Lazy evaluation
查看>>
常用查找算法总结
查看>>
grep 零宽断言
查看>>
被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
查看>>
修改校准申请遇到的问题
查看>>
【DL-CV】浅谈GoogLeNet(咕咕net)
查看>>
python大佬养成计划----win下对数据库的操作
查看>>
(cons '(〇 . 前言) 《为自己写本-Guile-书》)
查看>>
监控软件zabbix之安装
查看>>
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=armv7 armv7s)
查看>>
Exchange Server 2016 独立部署/共存部署 (七)—— DAG功能测试
查看>>
Linq==数据访问层?
查看>>
对RTMP视频流进行BitmapData.draw()出错的解决办法
查看>>