【转】SocketRocket:iOS WebSocket客户端开源框架
原文网址: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];
- }
【转】SocketRocket:iOS WebSocket客户端开源框架的更多相关文章
- iOS超全开源框架、项目和学习资料汇总(5)AppleWatch、经典博客、三方开源总结篇
完整项目 v2ex – v2ex 的客户端,新闻.论坛.apps-ios-wikipedia – apps-ios-wikipedia 客户端.jetstream-ios – 一款 Uber 的 MV ...
- 【转】iOS超全开源框架、项目和学习资料汇总
iOS超全开源框架.项目和学习资料汇总(1)UI篇iOS超全开源框架.项目和学习资料汇总(2)动画篇iOS超全开源框架.项目和学习资料汇总(3)网络和Model篇iOS超全开源框架.项目和学习资料汇总 ...
- iOS超全开源框架、项目和学习资料汇总--数据库、缓存处理、图像浏览、摄像照相视频音频篇
iOS超全开源框架.项目和学习资料汇总--数据库.缓存处理.图像浏览.摄像照相视频音频篇 感谢:Ming_en_long 的分享 大神超赞的集合,http://www.jianshu.com/p/f3 ...
- 基于Doubango的iOS客户端开源框架
一.ios-ngn-statck工程 1.Tests ---功能测试 2.底层模块(c和c++) Doubango --- 基于3GPP IMS/RCS 并能用于嵌入式和桌面系统的开源框架 1) ti ...
- iOS常用第三方开源框架和优秀开发者博客等
博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...
- iOS超全开源框架、项目和学习资料汇总:UI篇
上下拉刷新控件 1. MJRefresh --仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.(推荐) 2. S ...
- iOS - CocoaPods 第三方开源框架管理
1.CocoaPods CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 Github 上管理.该项目开始于 2011 年 8 月 12 日,在这 ...
- iOS超全开源框架、项目和学习资料汇总 UI篇
上下拉刷新控件 MJRefresh --仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明. AutoLayout ...
- IOS通过PushSharp开源框架发送推送
1,首先生成推送证书: openssl x509 -in aps_developer_identity.cer -inform DER -out aps_developer_identity.pem ...
随机推荐
- SharePoint表单和工作流 - Nintex篇(七)
博客地址 http://blog.csdn.net/foxdave 接上篇点击打开链接 在工作流设计面板点击Close返回到列表页面,切换到List标签,选择"Nintex Forms&qu ...
- C# IList<T>转为DataTable
public class WebUtil { /// <summary> /// 转换IList<T>为DataTable/// </summary> /// &l ...
- linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装
1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...
- zoj1530 bfs
//Accepted zoj1530 270ms 40008KB #include <cstdio> #include <cstring> #include <iostr ...
- Linux下tmpfs与ramfs的区别
ramfs是Linux下一种基于RAM做存储的文件系统.在使用过程中你就可以把ramfs理解为在普通的HDD上建立了一个文件系统,而现在HDD被替换成了RAM,因为是RAM做存储所以会有很高的存储 ...
- 12-28 显示团购数据界面的搭建,cell的自定义方面的知识总结
1.通过plist加载模型数据 2.controller中懒加载数据 3.设置tableView的数据源 4.写数据源的方法 5.观察演示项目,分析通过默认的cell的4种现实方式,无法实现要想要的现 ...
- hadoop环境搭建遇到问题集锦
1 在hadoop的bin目录下, 运行hadoop version命令,提示“hadoop:没有此命令” 解决办法: ./hadoop version或者$HADOOP_HOME/bin放在PAT ...
- Node.js的简介和安装
一.Node.js的简介和安装 a) 什么是Node.js? Node.js是一个开发平台 让JavaScript运行在服务器端的开发平台 ---简单点说就是用JavaScript写服务器 ...
- Python的交互式界面 编写 .
from tkinter import * # 导入tkinter模块的所有内容 root = Tk() # 创建一个文本Label对象 textLabel = Label(root, # 将内容绑定 ...
- Investment_完全背包
Description John never knew he had a grand-uncle, until he received the notary's letter. He learned ...