zoukankan      html  css  js  c++  java
  • 【转】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)部分,就可以实现简单的通信测试。

    [objc] view plain copy
     
    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. }  
  • 相关阅读:
    dede全功能手册V5.3
    php中一个完整表单处理实现代码
    dedecms织梦dede:sql标签,在dedecms中嵌套php语法等一些方法
    [二次开发]织梦二次开发增加一个或多个栏目的栏目内容
    java初学者笔记总结day13
    java初学者笔记总结day12
    java初学者笔记总结day11
    java初学者笔记总结day10
    java初学者笔记总结day9
    java初学者笔记总结day8
  • 原文地址:https://www.cnblogs.com/wi100sh/p/5995510.html
Copyright © 2011-2022 走看看