2017-01-06 4 views
0

Ich versuche, meinen Kopf um den Ziel-TCP-Socket zu verbinden, um eine Verbindung zum Server herzustellen, habe ich den Code aus diesen beiden Tutorials verwendet: https://www.raywenderlich.com/3932/networking-tutorial-for-ios-how-to-create-a-socket-based-iphone-app-and-server und https://gist.github.com/rjungemann/446256. Ich bemerkte, dass, wenn ich versuche, die Daten aus seinem nicht senden zu senden, bis ich die Anwendung zu beenden (an welcher Stelle auf dem Server empfangen wird), gleiches Verhalten, wenn beiden Tutorials folgenden, unter entsprechendem Code:Objective C TCP-Socket

- (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

Haben Sie den Stream in einer Laufschleife (mit 'ScheduleInRunLoop: forMode:')? – jcaron

+0

Sie sollten auch einen Delegaten festlegen, um Ereignisse im Stream zu empfangen, die Ihnen weitere Details zu seinem Status geben. Übrigens, beide sind eindeutig in den beiden Tutorials enthalten, die Sie aufgelistet haben, sowie in Apples Stream-Programmieranleitung. – jcaron

Antwort

-2

lesen auf Mutter Post, versuchen, \ r \ n zu der Zeichenfolge hinzufügen