Эй, ребята, я не знаю, задавался ли этот вопрос, но представьте следующую ситуацию:
У меня есть два TCP-сокета (открываются с NSSocketPort
и прослушиваются с двумя NSFileHandle
), и теперь я хочу отправить NSData
между ними.
@try {
[fileHandle writeData:data];
}
@catch (NSException * e) {
// Do some alert
}
Все в порядке, пока я не захочу отправить NSData
экземпляр длиной более 32768 байт. Больше чем это число байтов не будет передано. Итак, вот мои вопросы:
1) Почему Какао не может отправлять более 32768 байт одновременно?
2) Нужно ли делать обходной путь?
3) Если да, я бы разделил данные, но как бы вы это сделали? А как другой сокет узнает, когда все данные отправлены?
Кстати, после отправки этого единственного NSData
экземпляра оба сокета должны быть снова закрыты.