我正在向遠程控制軟件發送數據。 我的問題是,當我發送一些內容並且不關閉inpuStream和outputStream時,應用程序處於凍結狀態。 (可能正在等待答案) 當我發送了一些信息並且之後關閉了inputStream和outputStream時,我無法收到答案,因爲通信對話框已關閉。使用流接收數據
我用這種方法創建一個流對。
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)addr, port, &readStream, &writeStream);
NSInputStream *inputStream = (NSInputStream *)readStream;
NSOutputStream *outputStream = (NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
How can I solve this?
我嘗試過,但是當我只關閉輸出流時,應用程序凍結,我不收回數據。 比我關閉模擬器的TCP通信完成(Fin-> ACK ...)和另一方發送錯誤:「我不能發送答案」 – gbaor 2011-03-03 11:47:03