我目前正在嘗試在後臺線程中運行我的整個網絡東西,因爲當前服務器無法訪問(即)時,它阻塞主線程。在後臺運行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