Разделяйте данные (JSON) с помощью новой строки при отправке на сервер через сокет с помощью NSOutputStream - PullRequest
1 голос
/ 12 марта 2012

Я создаю протокол TCP, где приложение отправляет JSON на сервер и отправляет JSON обратно.Я пытаюсь разграничить каждую передачу новой строкой.Это нормально на стороне сервера, но как добавить новую строку для каждой записи NSOutputStream?

Потоки настроены правильно, и вот код, который я использую для отправки данных:

NSInteger sendJSON = [NSJSONSerialization writeJSONObject:dictionary toStream:self.outputStream options:0 error:nil];

Как добавить новую строку (\n) в конце этого, конечно, есть способ?

1 Ответ

1 голос
/ 21 марта 2012

Не забывая, что Objective C является строгим надмножеством C, простейшим решением может быть добавление новой строки после вызова кода в вашем вопросе:

const char* newLine = "\n";
if (self.outputStream.hasSpaceAvailable) {
    [self.outputStream write:(const uint8_t*)newLine maxLength:1];
}
...