Цель C TCP Socket

Я пытаюсь разобраться с целевым tcp-сокетом для подключения к серверу, я использовал код из этих двух руководств: 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. Я заметил, что когда я пытаюсь отправить данные, они не отправляются до тех пор, пока я не остановлю приложение (в какой момент оно получено на сервере), то же самое происходит при выполнении обоих руководств, приведенных ниже соответствующего кода:

- (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);
}

1 ответ

Читайте пост матери, попробуйте добавить \r\n в строку

Другие вопросы по тегам