3 мини-вопроса по подключению к сети
Когда клиент отправляет данные на сервер, происходит задержка. Когда сервер отправляет данные клиенту, есть ли время ожидания или оно мгновенно?
Если клиент отправляет данные на сервер ОЧЕНЬ FAST в определенной строке - допустим, [1, 2, 3], есть ли вероятность, что из-за задержки или по другим причинам данные, которые будут получены сервером в другой строке? (например, [2, 1, 3])
(То же, что и вопроС# 2, но когда сервер отправляет данные)
Да, есть латентность. Его по-прежнему связь, и все еще есть цепочка для навигации. Задержка имеет значение только тогда, когда все меняется, и учитывая, что для получения сообщения клиенту требуется X-минутное время, а еще один мс для клиента, чтобы что-то сделать с ним, вполне возможно, что состояние изменится в течение этих мс. Точно так же, как HTTP-запросы (WebSockets - это примерно то же самое) становятся "горячими", я считаю, что латентность будет уменьшаться (при прочих равных условиях), но она все равно будет существовать.
Нет, WebSockets через TCP, поэтому они будут в порядке. Перевозка UDP является пожарной и забытой, она не отправляет уведомления о получении и не регенерирует пакеты с использованием информации о времени, поэтому вы можете быстрее отправлять сообщения, но не можете делать никаких предположений относительно получения или заказа или событий. Показы страниц будут отличным примером того, где вы действительно не заботитесь о том, в каком порядке, и вы, вероятно, не слишком заботитесь о том, когда сервер получает такое сообщение, WebRTC может подключать UDP-соединения между JS и сервером, но стандарт все еще появляется. Пока что WebSockets подключаются через HTTP-обновление, то есть они являются TCP, где информация о заказе и подтверждение получения - вещь (больше и больше сообщений, отправляемых туда и обратно).
Тот же ответ! Все это происходит по TCP, поэтому вся поездка в оба конца, но заказ гарантирован.