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.

business-process_en

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.

ws_endpoint_create

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).

endpoint_create_form

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).

postman_ws

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.

swagger

Po skopiowaniu go i wklejeniu do odpowiedniego pola w Postmannależy zamienić https na wssponieważ 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ść;

cookie

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

postman_connect

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:

result_en

Was this article helpful?

AppMaster.io 101 Kurs zderzeniowy

10 moduły
2 Tygodnie

Nie wiesz, od czego zacząć? Rozpocznij z naszym szybkim kursem dla początkujących i poznaj AppMaster od A do Z.

Rozpocznij kurs
Development it’s so easy with AppMaster!

Potrzebujesz więcej pomocy?

Rozwiąż każdy problem z pomocą naszych ekspertów. Oszczędzaj czas i skup się na tworzeniu aplikacji.

headphones

Skontaktuj się z pomocą techniczną

Opowiedz nam o swoim problemie, a my znajdziemy dla Ciebie rozwiązanie.

message

Czat społeczności

Omów pytania z innymi użytkownikami na naszym czacie.

Dołącz do społeczności