Какая связь между vert.x, sockJS и веб-сокетами?

Я новичок во всем этом, но, насколько я понимаю, веб-сокеты позволяют двунаправленную передачу информации между браузерами. Vert.x - это библиотека, которая позволяет выполнять асинхронный ввод-вывод. SockJS - это библиотека JavaScript, которая пытается использовать веб-сокеты для связи и в противном случае предоставляет резервные варианты.

Но если я пишу что-то на Java с использованием vert.x, я не совсем понимаю, как эти части сочетаются друг с другом. Действительно ли vert.x поддерживает веб-сокеты? Или мне нужна комбинация vert.x и sockJS, чтобы это произошло?


person Imran    schedule 28.06.2017    source источник
comment
Вы читали документацию? В нем есть информация о работе с WebSockets и SockS: vertx.io/docs/vertx-core/java и vertx.io/docs/vertx-web/java   -  person berserkk    schedule 28.06.2017
comment
Если вы хотите увидеть пример с некоторыми подробностями, проверьте это: itnext.io/web-sockets-with-vert-x-and-sockjs-1f0710264eea   -  person Ondrej Kvasnovsky    schedule 15.03.2018


Ответы (1)


HTTP (s) - это протокол без сохранения состояния, что означает, что после того, как его работа будет выполнена, он будет бездействовать до тех пор, пока не будет дано следующее задание.

Итак, давайте возьмем пример приложения чата, предположим, что A разговаривает с B по протоколу HTTP. B отправил сообщение, которое находится на сервере, теперь, пока A не обновит браузер, сообщение B не появится. Это поведение без гражданства.

Переходя к сокетам, которые не являются апатридами. Сокеты используют протокол ws, который всегда подключен к серверу. Если взять тот же пример, теперь, если B отправляет сообщение, сокет A будет извлекаться и отображаться в браузере без необходимости обновления. Так работают сокеты.

Для обслуживания веб-страницы вам понадобится http-сервер. Аналогично использованию сокетов необходим сервер сокетов. Что предоставляется Vert.x. Таким образом, Vert.x запустит сервер сокетов, ваш браузер будет прослушивать этот сервер, используя клиентский файл sock.js.

person Niraj Chauhan    schedule 29.06.2017