Здравствуйте, Videoman, Вы писали:
V>Здравствуйте, Mystic Artifact, Вы писали:
MA>>Это вроде не нормальное поведение. Кто является отправителем сообщений? Может быть серверный фреймворк не даёт таких гарантий?
V>Все происходит в локальной сети. Отправляются пакеты со стороны браузера. На сервере (простейший С++, TCP сокет, свой маленький парсер WebSocket пакетов) они принимаются в точно таком же порядке как и отправлялись. Здесь все как и ожидалось никогда никаких переупорядочиваний нет. Пакеты это простейший json в котором присутствует номер пакета и этот номер отправляется обратно вместе с ответом. С++ сервер работает на одном сокете строго последовательно (принял-отдал, принял-отдал). V>На приеме в браузере в обработчиках onmessage детектируется номера ответов. В спокойных условиях порядок также не меняется, а вот если нагрузить сеть близко к 100%, то номера ответов в обратных вызовах onmessage иногда начинают перемешиваться — меняется порядок. V>P.S. Браузер Chrome 80.0.3987.116
конечно вводных мало,
но например у меня похожая путаница была когда тупо стоял ре-коннектор на webscoket, а разборщик сообщений не учитывал момент реконнекта.
при нагруженной сети бывает что ws рвётся, поэтому простейший реконнектор не помешает...