Importazioni richieste
La prima cosa da fare è importare i pacchetti richiesti. Per questo progetto, avremo bisogno del pacchetto FMT, Net/HTTP e il pacchetto Gorilla.
Possiamo fare queste importazioni come:
importazione (Una volta importato, possiamo iniziare a costruire il nostro server.
Aggiorna la connessione HTTP
Il primo passo nel nostro progetto è prendere una connessione HTTP e aggiornarla a un WebSocket . Possiamo farlo usando il websocket.Aggiornamento struct. Prende la dimensione del buffer di lettura e scrittura come definito nel codice sorgente seguente:
https: // pkg.andare.dev/github.com/gorilla/websocket#aggiornatore
Per il nostro esempio, utilizzeremo le opzioni predefinite ma imposteremo il checkorigin su una funzione che restituisce vero. Ciò impedirà al server di bloccare la connessione a causa delle cors.
var upgrader = WebSocket.AggiornatoreAggiungi gestore
Quindi, lasciaci un gestore HTTP quando un client colpisce l'endpoint /echo. Definiremo più avanti nella funzione principale.
func echo (w http.Responsewriter, r *http.Richiesta)Nell'esempio sopra, definiamo una funzione che porta la risposta di risposta e un puntatore a HTTP.Risposta.
Aggiorniamo la connessione HTTP al protocollo WebSocket utilizzando la funzione Aggiornatore. Successivamente, utilizziamo un ciclo per ascoltare e leggere i messaggi in arrivo. Quindi stampiamo il messaggio sulla console e riecheggiamo il messaggio al client.
Aggiungi Endpoint WebSocket
Il prossimo passo è aggiungere un semplice gestore HTTP per l'endpoint websocket. Possiamo usare la funzione come:
Func Home (W http.Responsewriter, r *http.Richiesta)Crea client
Per interagire con il servizio WebSocket, dobbiamo creare un client. Possiamo farlo creando un semplice file HTML da che utilizza JavaScript per aprire una connessione WebSocket al server. Un codice di esempio è come mostrato:
indice.htmlEsegui server
L'ultimo passo è definire i percorsi e chiamare i gestori HTTP nella funzione principale. Il codice è come mostrato:
funcmain ()Salva i file ed esegui:
Vai a correre WS.andareApri l'indice.file html nel browser. Dovresti vedere un messaggio connesso una volta che il browser stabilisce una connessione.
Se si digita un messaggio nel campo, il server lo risponde.
Il codice sorgente completo del programma è come mostrato:
Pacchetto principaleConclusione
Questa era una guida per principianti per lavorare con WebSocket in Go. In questa guida, abbiamo trattato come aggiornare una connessione HTTP al protocollo WebSocket, leggere i messaggi e rispondere ai messaggi al client.