Web socket - обработка заказов req / resp
I am sending a lot of requests to the webSocket server in a short time. Can I be sure that webSocket process the requests and respones in this order: reqA, reqB, reqC then the server responses to these requests in the same order resA, resB, resC ?
Что я уже пробовал:
I am sending a lot of requests to the webSocket server in a short time. Can I be sure that webSocket process the requests and respones in this order: reqA, reqB, reqC then the server responses to these requests in the same order resA, resB, resC ?
0x01AA
нет
Member 13702159
0x01AA - не могли бы вы подробнее остановиться на этом ?
0x01AA
а) основным протоколом является TCPIP, поэтому ответы на запросы могут быть получены совершенно разными маршрутами в сети. Таким образом, даже если сервер отвечает в том же порядке (как и запрос), вы не можете предположить, что ответ поступит в том же порядке на стороне клиента.
б) вы не знаете, как сервер обрабатывает запросы, особенно в ситуациях, когда запросы распределяются по другим серверам (балансировка нагрузки)
Member 13702159
Что вы об этом думаете?
https://stackoverflow.com/questions/14287224/processing-websockets-messages-in-order-of-receiving/31894114
Кто-то написал здесь: "WebSocket-это TCP, а это значит, что заказ доставки гарантирован"
0x01AA
TCPIP действительно сообщает вам, была ли информация успешно отправлена получателю (запрос). Но это не имеет ничего общего с ответом, который вы исключаете для запроса, который вы отправляете.
Значит, вы можете отправить несколько успешных запросов, но у вас нет гарантии, что 1.) получите ответ и 2.) порядок поступления ответов
Единственное, что вы можете сделать, это сериализовать его:
Петля
1.) отправить запрос
2.) Ждите ответа
Или, если вы программируете обе стороны (клиент и сервер), помечайте свои запросы тегами
MadMyche
"Гарантированный" порядок-это фрагменты в одном запросе, а не порядок получения сообщений. Или обрабатывается
0x01AA
Коротко и ясно +5 ;)