首页 > 代码库 > 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添加数据发送超时时间