0
私はサーバに接続する目的のTCPソケットの周りに頭を抱えようとしています。私はこれら2つのチュートリアルのコードを使用しました:https://www.raywenderlich.com/3932/networking-tutorial-for-ios-how-to-create-a-socket-based-iphone-app-and-serverとhttps://gist.github.com/rjungemann/446256。私は(ポイントは、サーバー上で受信された)アプリケーションを停止するまで、両方のチュートリアルを、以下のときに、関連するコードの下に、同じ動作を送信しないからデータを送信しようとしていますときに気づい:目的C TCPソケット
- (void)setup {
NSURL *url = [NSURL URLWithString:host];
NSLog(@"Setting up connection to %@ : %i", [url absoluteString], port);
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (__bridge CFStringRef)[url host], port, &readStream, &writeStream);
if(!CFWriteStreamOpen(writeStream)) {
NSLog(@"Error, writeStream not open");
return;
}
[self open];
NSLog(@"Status of outputStream: %lu", (unsigned long)[outputStream streamStatus]);
return;
}
- (void)writeOut:(NSString *)s {
uint8_t *buf = (uint8_t *)[s UTF8String];
[outputStream write:buf maxLength:strlen((char *)buf)];
NSLog(@"Writing out the following:");
NSLog(@"%@", s);
}
に\ r \ nを追加してみます( 'scheduleInRunLoop使用:forModeを:')実行ループ上のストリームをスケジュールしましたか? – jcaron
ストリームのイベントを受け取るようにデリゲートを設定して、ステータスの詳細を表示する必要があります。ところで、どちらも明らかにアップルのストリームプログラミングガイドと一緒にリストアップしたチュートリアルの両方に含まれています。 – jcaron