私はに取り組んできましたNSStreamDelegate
、私はコールバックを実装しました、私はこれと同じように入力および出力ストリームを初期化しました...
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStringRef host = CFSTR("74.125.224.72");
UInt32 port = 2270;
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, host, port, &inputStream, &writeStream);
if (writeStream && inputStream) {
inputStream = (__bridge NSInputStream *)readStream;
[inputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
outputStream = (__bridge NSOutputStream *)writeStream;
[outputStream setDelegate:self];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream open];
}
両方のストリームを開いた後でも、両方のストリームに対してcallback(stream:(NSStream *)theStream handleEvent:)
呼び出されませんNSStreamEventOpenCompleted
。ここで何が間違っているのか、誰でも助けてくれますか。またはNSStreamEventOpenCompleted
、ドキュメントで見たように、呼び出されない可能性は何ですか。開くことが失敗した場合、これは呼び出されません。そうであれば、なぜストリームを開くことが失敗するのですか。何か案が?
ご協力いただきありがとうございます。