首页 > 代码库 > GCDAsyncUdpSocket添加数据发送超时时间

GCDAsyncUdpSocket添加数据发送超时时间

GCDAsyncUdpSocket本身提供的:

- (void)sendData:(NSData *)data toHost:(NSString *)host port:(uint16_t)port withTimeout:(NSTimeInterval)timeout tag:(long)tag 方法写入参数timeout默认是不会根据填写的参数来超时的,需要在这个方法的

GCDAsyncUdpSendPacket *packet = [[GCDAsyncUdpSendPacketalloc] initWithData:datatimeout:timeout tag:tag];   下面添加这行代码就可以根据输入的参数来超时了

    [selfsetupSendTimerWithTimeout:timeout];

然后就会调用:

- (void)udpSocket:(GCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error 委托方法了

还有本人为发送数据可以建立一个类,通过

[selfperformSelector:@selector(requestTimeout)withObject:nilafterDelay:PACKET_TIMEOUT];

[NSObjectcancelPreviousPerformRequestsWithTarget:selfselector:@selector(requestTimeout)object:nil];

或者定时器来也可以实现一个超时机制



GCDAsyncUdpSocket添加数据发送超时时间