The WebSocket protokół ( WS) zapewnia możliwość wymiany danych pomiędzy przeglądarką internetową a serwerem za pomocą trwałego połączenia. Dane są przez niego przesyłane w obu kierunkach w postaci "pakietów", bez zrywania połączenia i dodatkowych HTTP żądań.
WebSocket jest szczególnie dobre dla usług, które wymagają stałej komunikacji, takich jak gry online, rynki w czasie rzeczywistym i tak dalej.
Przykład użycia
Przyjrzyjmy się tworzeniu i używaniu WebSocket w AppMaster na przykładzie prostego chatbota.
Po pierwsze, musisz stworzyć proces biznesowy w backendzie aplikacji ( Backend > Business Processes ), który będzie odpowiadał na wiadomości od użytkownika i wysyłał coś w odpowiedzi, w zależności od otrzymanej wiadomości.

Ten BP odbiera wiadomość i w zależności od jej treści zwraca w odpowiedzi ciąg znaków.
- Jeżeli. message = " Hi!", to w odpowiedzi otrzymujemy komunikat o treści " Hello!";
- Jeśli. message = " How are you doing?", wówczas BP zwróci ciąg znaków " Great! How about you?";
- W każdym innym przypadku BP będzie działał jak echo i zwróci w odpowiedzi ten sam ciąg znaków, który otrzymał na wejściu.
Następnie należy utworzyć WebSocket Endpoint (przejdź do. Backend > Endpoints > New Endpoint > WebSocket Endpoint), aby ten BP komunikował się z naszym botem.

W nowo otwartym oknie wypełnij następujące pola:
- Endpoint Type: GET
- Endpoint Address
- Endpoint Group
- Business Process
Po skonfigurowaniu Endpoint należy opublikować aplikację, która będzie z niego korzystać ( Publish).

WebSocket można przetestować za pomocą use Postman app (https://www.postman.com/). Szczegółową instrukcję, jak używać Postman można znaleźć pod linkiem: https://learning.postman.com/docs/sending-requests/supported-api-frameworks/websocket/.
W pierwszej kolejności należy utworzyć nowe WebSocket żądanie w Postman aplikacji ( New > WebSocket Request).

Należałoby umieścić w nim pełny adres websocket. Można go uzyskać w Swagger ( Preview > Development) poprzez wysłanie żądania na adres Endpoint który utworzyliśmy wcześniej w tym przewodniku. Zobaczysz adres websocket w Request URL sekcji.

Po skopiowaniu go i wklejeniu do odpowiedniego pola w Postman należy zamienić https na wss ponieważ komunikacja będzie odbywać się za pomocą wss protokół.
Następnie należy się zalogować, aby użyć WebSocket. Autoryzacja w websockets odbywa się poprzez Cookies. Można znaleźć Cookies w następujący sposób:
- W opublikowanej aplikacji naciśnij F12, aby otworzyć narzędzie deweloperskie;
- Przejdź do Networks i przełącz się na Headers zakładkę;
- W Request Headers zobaczysz Cookie wartość;

Poprzez dodanie Cookie do nagłówka żądania ( Headers) do WebSocket w Postman i klikając na Connect można sprawdzić, czy połączenie z WS zostało pomyślnie nawiązane. Wynik udanego połączenia jest pokazany na poniższym przykładzie.

Możesz wysłać wiadomość w bloku New Message ale musi to być JSON-formatted. To znaczy, jeśli chcesz wysłać ciąg znaków " Hello!", to wiadomość będzie wyglądać tak: {" message" : " Hello!"}. W tym przypadku nazwa klucza (=. message w tym przypadku) musi odpowiadać nazwie zmiennej na wejściu BP.
Wynik wykonania tego zapytania w poniższym przykładzie:

