Перейти к основному содержимому

10 записей с тегом "WebSockets"

Посмотреть все теги

· 5 мин. чтения

1. Обзор

В этой статье мы создадим простое веб-приложение, реализующее обмен сообщениями с использованием новых возможностей WebSocket, представленных в Spring Framework 4.0.

WebSockets — это двунаправленное , полнодуплексное , постоянное соединение между веб-браузером и сервером. Как только соединение WebSocket установлено, соединение остается открытым до тех пор, пока клиент или сервер не решит закрыть это соединение.

Типичным вариантом использования может быть ситуация, когда в приложении несколько пользователей общаются друг с другом, например, в чате. В нашем примере мы создадим простой чат-клиент.

2. Зависимости Maven

· 6 мин. чтения

1. Введение

В предыдущей статье мы показали, как добавить WebSockets в проект Spring MVC.

Здесь мы опишем, как добавить безопасность к Spring WebSockets в Spring MVC . Прежде чем продолжить, убедитесь, что у вас уже есть базовое покрытие безопасности Spring MVC — если нет, ознакомьтесь с этой статьей .

2. Зависимости Maven

Есть две основные группы зависимостей Maven , которые нам нужны для нашей реализации WebSocket.

· 7 мин. чтения

1. Обзор

WebSocket обеспечивает управляемое событиями, двунаправленное и полнодуплексное соединение между клиентом и сервером. Связь через WebSocket включает рукопожатие, обмен сообщениями (отправку и получение сообщений) и закрытие соединения.

В этом руководстве мы научимся отлаживать WebSockets с помощью браузеров и других популярных инструментов .

2. Создание веб-сокета

Давайте начнем с создания сервера WebSocket, который отправляет обновления биржевого тикера клиентам.

· 4 мин. чтения

1. Обзор

В этой статье мы создадим приложение с WebSocket и протестируем его с помощью Postman.

2. Веб-сокеты Java

WebSocket — это двунаправленное, полнодуплексное, постоянное соединение между веб-браузером и сервером . Как только соединение WebSocket установлено, соединение остается открытым до тех пор, пока клиент или сервер не решит закрыть это соединение.

Протокол WebSocket — это один из способов заставить наше приложение обрабатывать сообщения в реальном времени. Наиболее распространенными альтернативами являются длительные опросы и события, отправленные сервером. Каждое из этих решений имеет свои преимущества и недостатки.

· 6 мин. чтения

1. Обзор

В этом руководстве мы увидим, как отправлять запланированные сообщения с сервера в браузер с помощью WebSockets . Альтернативой может быть использование событий, отправленных сервером (SSE), но мы не будем рассматривать это в этой статье.

Spring предоставляет множество вариантов планирования. Во-первых, мы рассмотрим аннотацию @Scheduled . Затем мы увидим пример с методом Flux::interval , предоставленным Project Reactor. Эта библиотека доступна «из коробки» для приложений Webflux и может использоваться как отдельная библиотека в любом проекте Java.

Также существуют более продвинутые механизмы, такие как планировщик Quartz , но мы не будем их рассматривать.

2. Простое приложение для чата

· 4 мин. чтения

1. Введение

В этом руководстве мы опишем, как использовать Spring WebSockets для отправки сообщений STOMP одному пользователю. Это важно, потому что иногда мы не хотим транслировать каждое сообщение каждому пользователю. Кроме того, мы покажем, как отправлять эти сообщения безопасным способом.

Для ознакомления с WebSockets ознакомьтесь с этим замечательным руководством о том, как приступить к работе. И, чтобы глубже погрузиться в безопасность, ознакомьтесь с этой статьей, чтобы защитить свою реализацию WebSockets.

2. Очереди, темы и конечные точки

Есть три основных способа сказать, куда отправляются сообщения и как они подписываются, используя Spring WebSockets и STOMP:

· 4 мин. чтения

1. Обзор

В этой статье мы собираемся создать быстрый пример, используя новый Spring 5 WebSockets API вместе с реактивными функциями, предоставляемыми Spring WebFlux.

WebSocket — это хорошо известный протокол, обеспечивающий полнодуплексную связь между клиентом и сервером, обычно используемый в веб-приложениях, где клиент и сервер должны обмениваться событиями с высокой частотой и с малой задержкой.

Spring Framework 5 модернизировал поддержку WebSockets в рамках, добавив реактивные возможности в этот канал связи.

Мы можем найти больше о Spring WebFlux здесь .

2. Зависимости Maven

· 4 мин. чтения

1. Введение

HTTP (протокол передачи гипертекста) — это протокол запроса-ответа без сохранения состояния. Его простой дизайн делает его очень масштабируемым, но неподходящим и неэффективным для высокоинтерактивных веб-приложений в реальном времени из-за объема служебных данных, которые необходимо передавать вместе с каждым запросом/ответом.

Поскольку HTTP является синхронным, а приложения реального времени должны быть асинхронными, любые решения, такие как опрос или длительный опрос ( Comet ), как правило, сложны и неэффективны.

Чтобы решить указанную выше проблему, нам нужен основанный на стандартах, двунаправленный и полнодуплексный протокол, который мог бы использоваться как серверами, так и клиентами, и это привело к введению API JSR 356 — в этой статье мы покажу пример его использования.

2. Настройка

· 10 мин. чтения

1. Обзор

Когда мы хотим, чтобы наши веб-клиенты поддерживали диалог с нашим сервером, WebSockets может быть полезным решением. WebSockets поддерживают постоянное полнодуплексное соединение. Это дает нам возможность отправлять двунаправленные сообщения между нашим сервером и клиентом.

В этом руководстве мы узнаем, как использовать WebSockets с Akka в Play Framework .

2. Настройка

Давайте настроим простое приложение для чата. Пользователь будет отправлять сообщения на сервер, а сервер ответит сообщением из JSONPlaceholder .

· 2 мин. чтения

1. Введение

AsyncHttpClient (AHC) — это библиотека на основе Netty, созданная для простого выполнения асинхронных вызовов HTTP и обмена данными по протоколу WebSocket.

В этом кратком руководстве мы увидим, как мы можем запускать соединение WebSocket, отправлять данные и обрабатывать различные кадры управления.

2. Настройка

Последнюю версию библиотеки можно найти на Maven Central . Нам нужно быть осторожными, чтобы использовать зависимость с идентификатором группы org.asynchttpclient, а не с com.ning: