Возможно ли у получателя определить «границы пакетов» TCP отправителя?
Scorpi и Павел Китьян нужно срочно начать читать замечательный учебник Снейдера - Эффективное программирование TCP/IP
Если коротко - вы должны отправлять перед передачей данных длину передаваемого, затем принимать куски, суммировать их длины и собирать из них итог.
Вы никогда не должны завязываться на то, что TCP внутри себя режет поток байт на датаграммы. Для программиста TCP - труба о двух сокетах, один - на клиенте, второй - на сервере.
Я пытался сделать принималку изображений по TCP на node.js и тоже столкнулся с этой проблемой.
В результате ничего лучше не придумал как сначала отправлять размер файла, а потом просто считать кол-во принятых байт чтобы знать где конец.
Сейчас погуглил, и пишут что можно узнать где конец передачи по \n
Т.е. если пришёл end-line - значит передача закончена.