iOS SocketRocket使用

iOS SocketRocket
一、简单介绍
SocketRocket是一个WebSocket客户端(WebSocket是适用于Web应用的下一代全双工通讯协议,被成为“Web的TCP”,它实现了浏览器与服务器的双向通信),采用Object-C编写。SocketRocket遵循最新的WebSocket规范RFC 6455。
二、如何使用
• socketRocket 支持pod,因此直接添加然后install
• 引入头文件

#import "SocketRocket.h"

• 遵循代理.

@interface HFSocketRocketViewController ()<SRWebSocketDelegate>

三、初始化SocketRocket

    __weak HFSocketRocketViewController *weakSelf = self;
    //Url
    NSURL *url = [NSURL URLWithString:STOCK_SMALL];
    //请求
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    //初始化请求`
    weakSelf.webSocket = [[SRWebSocket alloc] initWithURLRequest:request];
    //代理协议`
    weakSelf.webSocket.delegate = self;`
    // 实现这个 SRWebSocketDelegate 协议啊`
    //直接连接`
    [weakSelf.webSocket open];    // open 就是直接连接了
 **三、实现代理**
- (void)webSocketDidOpen:(SRWebSocket *)webSocket {
    NSLog(@"连接成功,可以立刻登录你公司后台的服务器了,还有开启心跳");
}
-(void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error {
     NSLog(@"连接失败,这里可以实现掉线自动重连,要注意以下几点");
     NSLog(@"1.判断当前网络环境,如果断网了就不要连了,等待网络到来,在发起重连");
     NSLog(@"2.判断调用层是否需要连接,例如用户都没在聊天界面,连接上去浪费流量");
        //关闭心跳包
         [webSocket close];
 }
- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean {
        //关闭心跳包
         [webSocket close];
     NSLog(@"连接断开,清空socket对象,清空该清空的东西,还有关闭心跳!");
 }
- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message  {
             //收到数据代理方法
            // 收到数据后,你要给后台发送的数据. 
            [webSocket send:@""];
 }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容