2017-01-06 7 views
0

私はサーバに接続する目的のTCPソケットの周りに頭を抱えようとしています。私はこれら2つのチュートリアルのコードを使用しました:https://www.raywenderlich.com/3932/networking-tutorial-for-ios-how-to-create-a-socket-based-iphone-app-and-serverhttps://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); 
} 
+0

に\ r \ nを追加してみます( 'scheduleInRunLoop使用:forModeを:')実行ループ上のストリームをスケジュールしましたか? – jcaron

+0

ストリームのイベントを受け取るようにデリゲートを設定して、ステータスの詳細を表示する必要があります。ところで、どちらも明らかにアップルのストリームプログラミングガイドと一緒にリストアップしたチュートリアルの両方に含まれています。 – jcaron

答えて

-2

読むには母のポストに、文字列