美文网首页ios
使用WebSocket进行长连接通信

使用WebSocket进行长连接通信

作者: 可惜_没如果丶 | 来源:发表于2016-09-28 10:26 被阅读962次

主要使用的是CocoaAsyncSocket

集成就不说了,打开workspace

1.在build phases中加入编译源

2.引入头文件

#import<GCDAsyncSocket.h>

@property(nonatomic,retain)GCDAsyncSocket *socket;//定义一个Socket对象

3.遵守协议<GCDAsyncSocketDelegate>

4.初始化

self.socket =[[GCDAsyncSocketalloc]initWithDelegate:selfdelegateQueue:dispatch_get_global_queue(0,0)];

5.连接服务器

[self.socket connectToHost:host onPort:port error:&error]//返回值是BOOL类型的

6.发送数据

[self.socketwrite Data:msg DatawithTimeout:30 tag:123];//msg为Data类型

7.各协议使用

//成功链接到服务器后会回调的方法

- (void)socket:(GCDAsyncSocket*)sock didConnectToHost:(NSString*)host port:(uint16_t)port{

  //NSLog("Connect  to the server successfully!");

//Or do something

}

//接收数据完成后会回调的方法

- (void)socket:(GCDAsyncSocket*)sock didReadData:(NSData*)data withTag:(long)tag;

//接收过程中会回调的方法  主要用于查看接收进度

- (void)socket:(GCDAsyncSocket*)sock didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag;

//发送数据完成后会回调的方法

- (void)socket:(GCDAsyncSocket*)sock didWriteDataWithTag:(long)tag;

//发送过程中会回调的方法  主要用于查看发送进度

//当某一读/写(下一个方法)任务达到超时时间,但还没有完成时,用于给当前任务增加超时时间的方法(如果不实现该方法,任务会正常超时结束)

- (NSTimeInterval)socket:(GCDAsyncSocket*)sock shouldTimeoutReadWithTag:(long)tag elapsed:(NSTimeInterval)elapsed bytesDone:(NSUInteger)length;

- (NSTimeInterval)socket:(GCDAsyncSocket*)sock shouldTimeoutWriteWithTag:(long)tag elapsed:(NSTimeInterval)elapsed bytesDone:(NSUInteger)length;

先写到这吧,以后慢慢加

相关文章

  • 使用WebSocket进行长连接通信

    主要使用的是CocoaAsyncSocket 集成就不说了,打开workspace 1.在build phases...

  • WebSocket探索

    最近在项目中使用了WebSocket进行长连接通信,本文就简要的记录一下所用到的东西。 首先我们先学习几个概念:长...

  • websocket学习

    websocket的定义 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协...

  • 2.WebSocket

    WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议...

  • WebSocket

    WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议...

  • websocket

    WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议...

  • SpringBoot Websocket 实战

    什么是Websocket Websocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket连接...

  • Spring Boot 整合单机websocket(附githu

    websocket 概念 websocket 是一个通信协议,通过单个 TCP 连接提供全双工通信。websock...

  • 前后端通信—后端主动给前端通信那种

    # 前后端通信 ## 1、websocket `websocket :长连接,双向的。node搭建的websoc...

  • 聊天功能

    了解webscoket WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议...

网友评论

    本文标题:使用WebSocket进行长连接通信

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