Re[3]: WebSocket
От: Michael  
Дата: 29.02.20 11:46
Оценка: 11 (2)
Здравствуйте, Videoman, Вы писали:

V>Здравствуйте, Mystic Artifact, Вы писали:


MA>>Это вроде не нормальное поведение. Кто является отправителем сообщений? Может быть серверный фреймворк не даёт таких гарантий?


V>Все происходит в локальной сети. Отправляются пакеты со стороны браузера. На сервере (простейший С++, TCP сокет, свой маленький парсер WebSocket пакетов) они принимаются в точно таком же порядке как и отправлялись. Здесь все как и ожидалось никогда никаких переупорядочиваний нет. Пакеты это простейший json в котором присутствует номер пакета и этот номер отправляется обратно вместе с ответом. С++ сервер работает на одном сокете строго последовательно (принял-отдал, принял-отдал).

V>На приеме в браузере в обработчиках onmessage детектируется номера ответов. В спокойных условиях порядок также не меняется, а вот если нагрузить сеть близко к 100%, то номера ответов в обратных вызовах onmessage иногда начинают перемешиваться — меняется порядок.
V>P.S. Браузер Chrome 80.0.3987.116

конечно вводных мало,
но например у меня похожая путаница была когда тупо стоял ре-коннектор на webscoket, а разборщик сообщений не учитывал момент реконнекта.
при нагруженной сети бывает что ws рвётся, поэтому простейший реконнектор не помешает...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.