De WebSocket protocol (WS) biedt de mogelijkheid om gegevens uit te wisselen tussen een webbrowser en een server over een permanente verbinding. Gegevens worden in beide richtingen verzonden in de vorm van "pakketten", zonder de verbinding te verbreken en extra HTTP verzoeken.
WebSocket is vooral goed voor diensten die constante communicatie nodig hebben, zoals online spelletjes, real-time marktplaatsen, enzovoort.
Gebruiksvoorbeeld
Laten we eens kijken naar het maken en gebruiken van WebSocket in AppMaster met behulp van een eenvoudig chatbotvoorbeeld.
Eerst moet je een bedrijfsproces aanmaken in de backend van de applicatie (Backend > Business Processes sectie), die zal reageren op berichten van gebruikers en iets als antwoord zal sturen, afhankelijk van het ontvangen bericht.
Deze BP ontvangt een bericht en geeft, afhankelijk van de inhoud, als antwoord een string terug.
- Als de message = "Hi!", dan krijgt u in het antwoord een bericht met de tekst "Hello!";
- Als de message = "How are you doing?", dan zal de BP de string "Great! How about you?";
- In elk ander geval zal de BP werken als een echo en als antwoord dezelfde string teruggeven als die welke hij bij de invoer heeft ontvangen.
Vervolgens moet je een WebSocket Endpoint (ga naar Backend > Endpoints > New Endpoint > WebSocket Endpoint) voor deze BP om te communiceren met onze bot.
Vul in het nieuw geopende venster de volgende velden in:
- Endpoint Type: GET
- Endpoint Address
- Endpoint Group
- Business Process
Na het instellen van Endpoint moet u de toepassing publiceren om deze te gebruiken (Publish).
WebSocket kan getest worden met de use Postman app(https://www.postman.com/). Een gedetailleerde instructie over het gebruik Postman vindt u onder de link: https://learning.postman.com/docs/sending-requests/supported-api-frameworks/websocket/.
Maak eerst een nieuw WebSocket verzoek aan in de Postman applicatie (New > WebSocket Request).
Je zou een volledig websocket adres moeten plaatsen. Dit kan worden verkregen in Swagger (Preview > Development) door een verzoek te sturen naar de Endpoint die we eerder in deze gids hebben aangemaakt. U ziet het websocketadres in de Request URL sectie.
Na het kopiëren en plakken in het overeenkomstige veld in Postmanmoet u https vervangen door wssaangezien de communicatie via het wss protocol.
Vervolgens moet u inloggen om WebSocket. Autorisatie in websockets wordt uitgevoerd via Cookies. U kunt Cookies op de volgende manier:
- Druk op F12 in de gepubliceerde toepassing om de tool voor ontwikkelaars te openen;
- Ga naar Networks en schakel over naar Headers tabblad;
- In de Request Headers ziet u Cookie waarde;
Door het toevoegen van een Cookie waarde toe te voegen aan de request header (Headers) aan WebSocket in Postman en te klikken op Connectkunt u controleren of de verbinding met WS met succes tot stand is gebracht. Het resultaat van een geslaagde verbinding wordt in het onderstaande voorbeeld getoond.
U kunt een bericht sturen in het New Message blok, maar het moet JSON-formatted. Dat wil zeggen, als u de string "Hello!", dan zal het bericht er als volgt uitzien: {"message" : "Hello!"}. In dit geval moet de naam van de sleutel (= message in dit geval) overeenkomen met de naam van de variabele bij de BP-invoer.
Het resultaat van het uitvoeren van deze query in het onderstaande voorbeeld: