最近在做一个实时通信的业务,里面使用到了UDP进行传送。GCDAsyncUdpSocket我使用的是这个,但是在使用的过程中出现一个问题,就是运行一段时间后只能录音不能放音。经过测试发现录音没有问题,是接收部分的问题。
dispatch_source_set_event_handler(receive4Source, ^{ @autoreleasepool {
LogVerbose(@"receive4EventBlock");
socket4FDBytesAvailable = dispatch_source_get_data(receive4Source);
LogVerbose(@"socket4FDBytesAvailable: %lu", socket4FDBytesAvailable);
if (socket4FDBytesAvailable > 0)
{
NSLog(@"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
[self doReceive];
}
else
{
[self doReceiveEOF];
}
}});
正常放音的时候是执行这段代码的,但是运行一段时间后这段代码就不执行了,不知道为什么。求助各位大神帮忙。