美文网首页iOS点滴
WebSocket的简单使用

WebSocket的简单使用

作者: 不是公主但有病 | 来源:发表于2015-11-16 15:07 被阅读6679次

    需要用到webSocket,所以搜集了一下使用方法,总结下自己的经验

    首先要导入webSocket的包,git下载地址https://github.com/square/SocketRocket

    导入

    这个包,然后配置环境,导入需要用的框架

    libicucore.dylib//这个现在Xcode里没有,需要自己找到资源后手动添加

    CFNetwork.framework

    Security.framework

    Foundation.framework。

    要记得添加pch文件。

    然后编译,工程运行没有错误,进行下一步

    在用到的ViewController里包含一下头文件

    1.

    2.

    3.一个测试用的接口ws://echo.websocket.org

    4.必须实现的代理方法

    - (void)webSocketDidOpen:(SRWebSocket *)webSocket;

    - (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error;

    - (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message;

    - (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean;

    - (void)webSocket:(SRWebSocket *)webSocket didReceivePong:(NSData *)pongPayload;

    5,在第一个代理方法里发送请求

    [_webSocket send:@"test success"];

    在第三个代理方法里打印数据

    在第四个代理方法里置为nil

    _webSocket.delegate = nil;

    完成。

    相关文章

      网友评论

      • fc18f69e6ff0:第五个方法是干吗用的呢 求解
      • 帆123:我将webSocket集成到自己写的静态库中,然后调用自己写的静态库出现了:Undefined symbols for architecture armv7:
        "_utf8_nextCharSafeBody", referenced from:
        _validate_dispatch_data_partial_string in libEVCSDK.a(SRWebSocket.o)
        ld: symbol(s) not found for architecture armv7
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
        这个错误,请问楼主知道这个怎么解决吗?
      • 42e1c79aee08:Domain=NSPOSIXErrorDomain Code=54 "Connection reset by peer"
        楼主大神,这个错误怎么解决呀
      • ad0be89dd139:你好,通过websocket怎么同时实现多个长连接??我的tableview上的cell对应的不同的长连接地址,需要在tableview这个页面就进行长连接,能否提供点思路?谢谢.
      • 898097e15cf1:请问发送数据的时候,,也就是-(void)send:(id)data方法里面应该怎么写呢、
      • 1f0f77826518:持续关注!! 等待解答! :blush:
        1f0f77826518:@不是公主但有病 搞定了 :blush:
        不是公主但有病:@riseup http://www.jianshu.com/p/0309c8161834 pch文件的建立
      • 在天之涯:为什么我在使用的时候总是进入didFailWithError方法 求解答
        不是公主但有病:@在天之涯 我之前出现这个问题是因为接口地址不对,这个方法默认的开头是ws://,你的是不是wss://
        1f0f77826518:@在天之涯 你是手动导入的么?
        1f0f77826518:@在天之涯 libicucore.dylib 在哪找到的

      本文标题:WebSocket的简单使用

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