Я работаю над приложением для iPhone и хотел использовать:
CFStreamCreatePairWithSocketToHost(NULL, url, port, &serverReadStream, &serverWriteStream);
И после этого используйте:
[serverWriteStream write:[sendData bytes] maxLength:[sendData length]];
Я хочу отправлять небольшие пакеты по 5 байт, чтобы получать обновления в реальном времени.
Моя проблема в том, что поток отправляет данные только тогда, когда буфер заполнен. Поэтому мне нужен какой-то метод очистки или сказать потоку немедленно отправить данные.
Поиск этой проблемы закончился обнаружением «TCP_NODELAY», который, похоже, принадлежит недокументированному API (который я не должен использовать для AppStore, поправьте меня, если я ошибаюсь, пожалуйста), и даже если бы мне было разрешено использовать его, мне пришлось бы изменить создание потоков, не так ли?