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.

business-process_en

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.

ws_endpoint_create

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

endpoint_create_form

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

postman_ws

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

swagger

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;

cookie

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.

postman_connect

È 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:

result_en

Was this article helpful?

AppMaster.io 101 Corso intensivo

10 Moduli
2 settimane

Non sai da dove cominciare? Inizia con il nostro corso intensivo per principianti ed esplora AppMaster dalla A alla Z.

Inizia il corso
Development it’s so easy with AppMaster!

Serve ancora aiuto?

Risolvi qualsiasi problema con l'aiuto dei nostri esperti. Risparmia tempo e concentrati sulla creazione delle tue applicazioni.

headphones

Contatta il Supporto

Parlaci del tuo problema e ti troveremo una soluzione.

message

Chat comunitaria

Discuti le domande con altri utenti nella nostra chat.

Unisciti alla comunità