Importations requises
La première chose à faire est d'importer les packages requis. Pour ce projet, nous aurons besoin du package FMT, du net / http et du package gorille.
Nous pouvons faire ces importations comme:
importer (Une fois importé, nous pouvons commencer à construire notre serveur.
Mettre à niveau la connexion HTTP
La première étape de notre projet consiste à prendre une connexion HTTP et à la mettre à niveau vers un WebSocket . Nous pouvons le faire en utilisant le WebSocket.Améliorer la structure. Il prend la taille du tampon de lecture et d'écriture telle que définie dans le code source ci-dessous:
https: // pkg.aller.dev / github.Com / Gorilla / WebSocket # Upgrader
Pour notre exemple, nous utiliserons les options par défaut mais définirons le chèque. Cela empêchera le serveur de bloquer la connexion en raison de CORS.
var uprader = WebSocket.UpgraderAjouter un gestionnaire
Ensuite, laissez-nous un gestionnaire HTTP lorsqu'un client atteint le point de terminaison / Echo. Nous définirons plus tard dans la fonction principale.
func echo (w http.Réponsewriter, r * http.Demande)Dans l'exemple ci-dessus, nous définissons une fonction qui prend le rédacteur de réponse et un pointeur vers le HTTP.Réponse.
Nous mettons à niveau la connexion HTTP au protocole WebSocket à l'aide de la fonction de mise à niveau. Ensuite, nous utilisons une boucle pour écouter et lire les messages entrants. Nous imprimons ensuite le message à la console et faisons écho au message au client.
Ajouter le point de terminaison WebSocket
L'étape suivante consiste à ajouter un gestionnaire HTTP simple pour le point de terminaison WebSocket. Nous pouvons utiliser la fonction comme:
Func Home (W HTTP.Réponsewriter, r * http.Demande)Créer un client
Pour interagir avec le service WebSocket, nous devons créer un client. Nous pouvons le faire en créant un fichier HTML simple à partir de qui utilise JavaScript pour ouvrir une connexion WebSocket au serveur. Un exemple de code est comme indiqué:
indice.htmlExécuter le serveur
La dernière étape consiste à définir les itinéraires et à appeler les gestionnaires HTTP dans la fonction principale. Le code est comme indiqué:
funcmain ()Enregistrez les fichiers et exécutez:
aller courir ws.allerOuvrez l'index.Fichier HTML dans votre navigateur. Vous devriez voir un message connecté une fois que le navigateur établit une connexion.
Si vous tapez un message sur le terrain, le serveur le répond.
Le code source complet du programme est comme indiqué:
package principalConclusion
C'était un guide débutant pour travailler avec WebSocket dans Go. Dans ce guide, nous avons couvert comment mettre à niveau une connexion HTTP au protocole WebSocket, lire des messages et répondre aux messages au client.