Il WebSocket (WS) fornisce la possibilità di scambiare dati tra un browser web e un server attraverso una connessione persistente. I dati vengono trasmessi in entrambe le direzioni sotto forma di "pacchetti", senza interrompere la connessione e senza ulteriori richieste. HTTP richieste aggiuntive.
WebSocket è particolarmente indicato per i servizi che necessitano di una comunicazione costante, come i giochi online, i mercati in tempo reale e così via.
Esempio di utilizzo
Vediamo come creare e utilizzare WebSocket in AppMaster utilizzando un semplice esempio di chatbot.
Innanzitutto, è necessario creare un processo aziendale nel backend dell'applicazione (Backend > Business Processes ), che risponderà ai messaggi degli utenti e invierà qualcosa in risposta, a seconda del messaggio ricevuto.
Questa BP riceve un messaggio e, a seconda del suo contenuto, restituisce una stringa in risposta.
- Se il valore message = "Hi!", si riceve un messaggio di risposta che dice "Hello!";
- Se il message = "How are you doing?", allora la BP restituirà la stringa "Great! How about you?";
- In ogni altro caso, la BP funzionerà come un eco e restituirà in risposta la stessa stringa ricevuta in ingresso.
Quindi, è necessario creare un file WebSocket Endpoint (andare a Backend > Endpoints > New Endpoint > WebSocket Endpoint) per far comunicare questo BP con il nostro bot.
Nella nuova finestra aperta, compilare i seguenti campi:
- Endpoint Type: GET
- Endpoint Address
- Endpoint Group
- Business Process
Dopo aver impostato Endpoint è necessario pubblicare l'applicazione per utilizzarla (Publish).
WebSocket può essere testata con l'applicazione use Postman(https://www.postman.com/). Un'istruzione dettagliata su come utilizzare Postman si trovano al link: https://learning.postman.com/docs/sending-requests/supported-api-frameworks/websocket/.
Prima di tutto, creare una nuova WebSocket nell'applicazione Postman applicazione (New > WebSocket Request).
È necessario inserire un indirizzo websocket completo. Questo può essere ottenuto in Swagger (Preview > Development) inviando una richiesta all'indirizzo Endpoint creato in precedenza in questa guida. Si vedrà l'indirizzo della websocket nella sezione Request URL .
Dopo averlo copiato e incollato nel campo corrispondente in Postmanè necessario sostituire https con wsspoiché la comunicazione avverrà tramite il protocollo wss protocollo.
Successivamente, è necessario effettuare il login per utilizzare WebSocket. L'autorizzazione nelle websocket viene eseguita tramite Cookies. È possibile trovare Cookies nel modo seguente:
- Premere F12 nell'applicazione pubblicata per aprire lo strumento per gli sviluppatori;
- Andare a Networks e passare a Headers scheda;
- Nella scheda Request Headers si vedrà il valore Cookie valore;
Aggiungendo un valore Cookie all'intestazione della richiesta (Headers) a WebSocket in Postman e facendo clic su Connectè possibile verificare che la connessione a WS è stata stabilita con successo. Il risultato di una connessione riuscita è mostrato nell'esempio seguente.
È possibile inviare un messaggio nel blocco New Message ma deve essere JSON-formatted. Cioè, se si vuole inviare la stringa "Hello!", il messaggio avrà il seguente aspetto: {"message" : "Hello!"}. In questo caso, il nome della chiave (= message in questo caso) deve corrispondere al nome della variabile all'ingresso di BP.
Il risultato dell'esecuzione di questa query nell'esempio seguente: