Dies ist ein gutes Tutorial für Anfänger, die sich mit dem Go Net -Paket und dem Umgang mit Anfragen vertraut machen möchten.
Einstieg
Obwohl das Tutorial sehr anfängerfreundlich ist, empfehlen wir die Grundlagen der Arbeit mit der GO -Sprache zur Hand zu haben.
Es ist auch sehr vorteilhaft, zu verstehen, wie man mit Go -Paketen arbeitet.
Golang Net -Paket
Das Netzpaket ist Teil der Go -Standardbibliothek. Es wird verwendet, um eine tragbare Schnittstelle für die Arbeit mit Netzwerk -E/A -Operationen bereitzustellen. Dies umfasst TCP/IP-, UDP-, DNS- und UNIX -Domänen -Sockets.
Wir werden dieses Paket verwenden, um einen TCP -Server zu erstellen.
Erstellen eines einfachen TCP -Servers
Lassen Sie uns nun in den Code einsteigen und lernen, wie Sie einen TCP -Server erstellen. Erstellen Sie zunächst eine Go -Datei, um Ihren Code zu schreiben:
Mkdir TCP-ServerBearbeiten Sie die Datei mit Ihrem Texteditor Ihrer Wahl und geben Sie die folgenden Zeilen ein:
Paket MainDie obigen Zeilen definieren das Paket als eigenständiges Paket und importiert die erforderlichen Pakete.
Der nächste Schritt besteht darin, die Parameter für unseren Server zu definieren. Wir können diese als globale Variablen definieren wie:
const (Der nächste Schritt besteht darin, auf eingehende Verbindungen zu hören. Wir können dies mit dem Netz tun.Hörenmethode. Die Syntax der Funktion ist wie gezeigt:
Func Hören (Netzwerk, Adresszeichenfolge) (Hörer, Fehler)Der Verbindungstyp (z. B. TCP, TCP4, TCP6, UNIX oder UNIXPacket), den Host und den Verbindungsport. Die Funktion gibt eine Listen -Verbindung in der angegebenen Adresse zurück.
Ein Beispielcode ist wie gezeigt:
Hören Sie, arr: = net.Hören (Typ, Host+":"+Port)Wir überprüfen, ob der Hörer auf Fehler stoß.
Wir müssen den Hörer auch schließen, nachdem der Server beendet wird. Wir können dies mit dem Schlüsselwort für Defer und der Schließmethode tun
Hören.Schließen()Der nächste Schritt besteht darin, kontinuierlich auf Verbindungen zu hören. Wir können dies mit einer für die Schleife tun als:
fürUm eingehende Anforderungen zu bearbeiten, können wir eine Funktion erstellen wie:
Func HandleComingRequest (Conn Net.Conn)Im obigen Beispiel definieren wir eine Funktion, die Conn vom Typ NET nimmt.Conn Struktur als Parameter.
Anschließend definieren wir einen neuen Puffer, um die eingehenden Daten der Größe 1024 zu speichern. Der nächste Block liest die aktuelle Zeit mit der Zeit.Jetzt () Paket.
Mit der Schreibmethode können wir die Zeit und eine Zeichenfolge an den Client schreiben. Schließlich setzen wir den Conn.Schließen (), um die Verbindung zu schließen.
Der vollständige Quellcode ist wie gezeigt:
Paket MainServer kompilieren und ausführen
Speichern Sie nach Abschluss die Datei und führen Sie den folgenden Befehl aus, um den Hörer in eine binäre zu kompilieren:
Gehen Sie den Server auf.gehenFühren Sie den Server als nächstes als:
./Server.exeDer obige Befehl sollte den TCP -Server ausführen und wir können Verbindungen dazu herstellen.
Testen des TCP -Servers
Um den TCP -Server zu testen, können Sie NetCAT mit dem Befehl verwenden:
NC Localhost 9001Senden Sie als nächstes eine Nachricht als:
Hallo!Der Server sollte mit einem HI zurück und dem aktuellen Datum und der aktuellen Uhrzeit antworten.
Hallo zurück!Abschluss
Und damit haben wir unser Tutorial abgeschlossen. In diesem Handbuch werden Sie in die Grundlagen der Arbeit mit dem Net -Paket vorgestellt, indem Sie einen TCP -Server erstellen.
Danke fürs Lesen!