записываю пачку данных, то ко мне она придет одномоментно? Понятно что ОС будет собирать из пакетов, но я получу всю пачку одномоментно?
УСЛОВНО. Если я в сокет запишу 500мб данных одним вызовом, то на другой стороне вот это вот все мне придет за раз, без фрагментации?
Вроде бы да, сперва все фрагменты должны собраться, а потом уже на уровень приложения передаться одним целым
Ну вот подумай. Если так, то ты можешь на любой сервер отправить 100Гб в несколько потоков, и тупо положить его
Нет, никаких гарантий, что границы чанков сохранятся нет в TCP
Есть гарантия что они придут друг за другом
tcp это стрим, с точки зрения тсп сокета это всё непрерывный поток данных, код, который читает из сокета данные может получать хоть 500000 раз по одному байту, на это вообще полагаться нельзя
https://www.youtube.com/watch?v=FydiBSLOkL4&list=PLku9se_HAVOo4PCLaI5MK3BRcsQMoLk2O&index=11&ab_channel=abglazov достаточно годная база и вообще весь плейлист https://www.youtube.com/playlist?list=PLku9se_HAVOo4PCLaI5MK3BRcsQMoLk2O
Обсуждают сегодня