webSocket开源框架:SocketRocket

作者: 月咏蝴蝶 | 来源:发表于2016-02-18 15:10 被阅读10659次

    git下载地址:square/SocketRocket

    1. 下载解压文件打开SocketRocket文件夹
    E18C88E4-8586-429B-8B69-FC7FE9277064.png
    1. 把这个文件夹的文件拉到自己项目里面去
    2. 添加配置文件
    92E76BD6-DB41-4FFD-86D8-253CA93478FB.png

    添加.pch文件方法步骤

    1. 实现代码

    使用以下测试地址亲测可用
    测试地址:ws://echo.websocket.org

    #import "SRWebSocket.h"
    
    
    初始化
    - (void)Reconnect{
        self.webSocket.delegate = nil;
        [self.webSocket close];
        
        self.webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"ws://echo.websocket.org"]]];
        self.webSocket.delegate = self;
        
        self.title = @"Opening Connection...";
        
        [self.webSocket open];
    }
    
    - (void)viewWillAppear:(BOOL)animated{
        [self Reconnect];
    }
    
    - (void)viewDidDisappear:(BOOL)animated{
        // Close WebSocket
        self.webSocket.delegate = nil;
        [self.webSocket close];
        self.webSocket = nil;
    }
    
    代理方法实现
    #pragma mark - SRWebSocketDelegate
    - (void)webSocketDidOpen:(SRWebSocket *)webSocket{
        NSLog(@"Websocket Connected");
        self.title = @"Connected!";
    }
    
    - (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error{
        NSLog(@":( Websocket Failed With Error %@", error);
        
        self.title = @"Connection Failed! (see logs)";
        self.webSocket = nil;
    }
    
    - (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message{
        NSString *str1 = self.replyContent.text;
        NSString *str2 = [str1 stringByAppendingFormat:@"%@\n",message];
        self.replyContent.text = str2;
    }
    
    - (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean{
        NSLog(@"Closed Reason:%@",reason);
        self.title = @"Connection Closed! (see logs)";
        self.webSocket = nil;
    }
    
    - (void)webSocket:(SRWebSocket *)webSocket didReceivePong:(NSData *)pongPayload{
        NSString *reply = [[NSString alloc] initWithData:pongPayload encoding:NSUTF8StringEncoding];
        NSLog(@"%@",reply);
    }
    
    #pragma mark - SendButton Response
    - (IBAction)sendAction:(id)sender {
        [self.view endEditing:YES];
        // WebSocket
        if (self.webSocket) {
            [self.webSocket send:@"test success"];
        }
    }
    

    相关文章

      网友评论

      • 3bad9091035d:支持https吗现在
      • 买了否冷_:哥哥们问个问题 这个东东怎么保持长连接和不丢包的?
        mandagod:定时器中发送ping可以了
      • 玉思盈蝶:你好...请问你知道这个框架可以传输文件么?
      • ChardXu:大神您好,关于WebSocket断开重连,我断开后重新发送重连请求,但是不能成功,怎么回事啊,应该怎么处理呢?还有一个问题,我WebSocket连接2分钟后就会断开,应该怎么保持长连接呢?求解!感激不尽!
      • 嗯哎嘶唠咯:现如今 那个地址还能用么🌚?
        嗯哎嘶唠咯:@漂泊的煙烣 没有试过:sweat_smile:
        漂泊的煙烣:地址还能用吗?
      • 干不动:请问楼主有socket.io的demo或者链接吗 有的话发下我 584546178@ 谢谢
      • 翀鹰精灵:楼主好,,我使用你的这个测试地址ws://echo.websocket.org可以正常连接 ,但是我们后台是需要些端口号的 ,改怎么弄呢?
        Wayne_Wang:请问楼主,github上的框架怎么那么多呀?跟你用的不一样呀。我电脑cocoapod出问题也用不了。请问能给我个框架么?邮箱:386212519@qq.com. 谢谢了,🙏
        月咏蝴蝶:@翀鹰女孩 链接后面:port
      • 独爱ii:导入框架的内容写错
      • 独爱ii:导入的控件内容比楼主你的截图多好多,有没有最新的Demo,学习
        Wayne_Wang:@超级疯小肛 第一次用这东西,我也是github上的看不懂啊,电脑cocoapod有问题。请问您怎么用的后来?能把框架给我下么?邮箱:386212519@qq.com 感激不尽。。。
        超级疯小肛:是啊 太多了 全扔进去会报错,电脑也没装Cocoa,如何导入
        雪豹1119:@独爱ii 喔刚下载的,也是这样的情况,请问你弄好了吗?
      • 42e1c79aee08:楼主这个有demo嘛?
      • 无痕树人:- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message{
        } 你好,怎么接收后台给的消息尼 就像网易直播中 《直播》那项 ,只接收收据
      • 一只搬运工的自我修养:请问Socket.IO 你也是用的swift?oc怎么弄?
      • ce5cbd3b65d0:你好,请问穿给服务器数据,
        - (void)send:(id)data{

        NSString *upData = [data stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        [_webSocket sendData:data];

        }
        这个里面应该怎么写呢?我这么写不对呀
      • IOSCLUE:socket 过几分钟会断线怎么办
        0086bdc829fa:我猜可能需要隔一定时间发送一个心跳请求
        ce5cbd3b65d0:@IOSCLUE 你好,请问你解决了吗?我也遇到这个问题了
        月咏蝴蝶:@IOSCLUE 断了应该会重连吧? 不好意思啊,这个我只用了一会儿,就换了Socket.IO,这个框架没怎么试。
      • Ths:这个没有数据吗
        月咏蝴蝶:@Ths 那时候我也是弄来连接服务器,但是我用了上面那个Socket.IO那个,这个库我具体没试,只试了那个测试地址,测试地址是好的噢,后台的话我没试过
        Ths:@月咏蝴蝶 可以弄一个数据看看吗,我们服务器弄了一个,不知道哪里搭错了,我连接不上
        月咏蝴蝶:@Ths 不好意思噢,并没有数据

      本文标题:webSocket开源框架:SocketRocket

      本文链接:https://www.haomeiwen.com/subject/nebmkttx.html