我目前正在尝试在后台线程中运行我的整个网络东西,因为当前服务器无法访问(即)时,它阻塞主线程。在后台运行NSStream线程
我目前通过以下代码创建网络连接。有一种简单的方法在新的后台线程中运行它吗?
如何将接收到的消息返回给主线程?我怎样才能通过后台线程发送消息?
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)ipAdress, port, &readStream, &writeStream);
inputStream = (__bridge NSInputStream *)readStream;
outputStream = (__bridge NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
而不轮询流,是否有一个特定的问题,你认为你可以通过推到后台线程解决? – 2013-03-26 08:07:38
嗨,我不确定,因为我没有真正进入线程和合作。在Objective-C中。我愿意接受任何其他建议。有没有什么好的教程可以解决这个问题?谢谢! – 2013-03-26 08:10:01
*问题是什么?你为什么要使用一个单独的线程? – 2013-03-26 08:15:18