Я создаю сокет в Node.js с net.connect(host, port)
, записываю в него некоторые данные и затем прослушиваю результаты обратно в сокет.
Протокол TCP имеет встроенную информацию о заказе; пакеты могут отправляться или поступать не по порядку, а затем переупорядочиваться клиентом с использованием информации, встроенной в метаданные пакета.
Node.js запускает серию событий .on("data")
, чтобы сообщить вам, что данные были получены в сокете. Эти события генерируются в некотором порядке - существует только один поток выполнения, поэтому они не могут обрабатываться одновременно.
Гарантируется ли порядок событий передачи данных порядка пакетов TCP? Возможно ли событие .on("data")
сработать не по порядку для данных, полученных в сокете?