Dette er en god tutorial for nybegynnere som vil bli kjent med Go Net -pakken og hvordan du kan håndtere forespørsler.
Starter
Selv om opplæringen er veldig nybegynnervennlig, anbefaler vi å ha det grunnleggende om å jobbe med GO -språket for hånden.
Å forstå hvordan man jobber med GO -pakker er også veldig gunstig.
Golang Net Package
Nettpakken er en del av Go Standard Library. Det brukes til å levere bærbart grensesnitt for å jobbe med Network I/O -operasjoner. Dette inkluderer TCP/IP, UDP, DNS og UNIX -domenetakskontakter.
Vi bruker denne pakken til å opprette en TCP -server.
Bygge en enkel TCP -server
La oss nå komme inn i koden og lære å bygge en TCP -server. Begynn med å opprette en GO -fil for å skrive koden din:
mkdir tcp-serverRediger filen med den valgte tekstredigereren din og skriv inn linjene nedenfor:
pakkehovedLinjene ovenfor definerer pakken som en frittstående pakke og importerer de nødvendige pakkene.
Neste trinn er å definere parametrene for serveren vår. Vi kan definere disse som globale variabler som:
const (Neste trinn er å lytte etter innkommende tilkoblinger. Vi kan gjøre dette ved hjelp av nettet.Lyttemetode. Funksjonens syntaks er som vist:
func lytt (nettverk, adresse streng) (lytter, feil)Det tar tilkoblingstypen (for eksempel TCP, TCP4, TCP6, UNIX eller Unixpacket), verten og tilkoblingsporten. Funksjonen vil returnere en lytteforbindelse på den spesifiserte adressen.
Et eksempelkode er som vist:
Hør, feil: = netto.Lytt (type, vert+":"+port)Vi sjekker om lytteren møter noen feil, hvis det er sant, den logger feilmeldingen og finnes med en statuskode på 1.
Vi må også lukke lytteren etter at serveren er avsluttet. Vi kan gjøre dette ved hjelp av utsettingsnøkkelordet og den nære metoden
lytte.Lukk()Neste trinn er å kontinuerlig lytte etter tilkoblinger. Vi kan gjøre dette ved hjelp av en for loop som:
forFor å håndtere innkommende forespørsler, kan vi opprette en funksjon som:
func takhøydepunkt (conn nett.Conn)I eksemplet over definerer vi en funksjon som tar Conn of Type Net.Conn struct som parameter.
Vi definerer deretter en ny buffer for å lagre innkommende data i størrelse 1024. Neste blokkering leser gjeldende tid ved å bruke tiden.Nå () pakke.
Ved hjelp av skrivemetoden kan vi skrive tiden og en streng til klienten. Endelig setter vi Conn.Lukk () for å lukke forbindelsen.
Den fulle kildekoden er som vist:
pakkehovedKompilere og kjøre server
Når du er fullført, lagre filen og kjør kommandoen nedenfor for å kompilere lytteren til en binær:
Gå og bygg serveren.gåKjør deretter serveren som:
./server.EXEKommandoen ovenfor skal kjøre TCP -serveren, og vi kan koble til den.
Testing av TCP -serveren
For å teste TCP -serveren, kan du bruke NetCat ved å bruke kommandoen:
NC Localhost 9001Neste, send en melding som:
Hei!Serveren skal svare med en hei rygg og gjeldende dato og tid.
Hei tilbake!Konklusjon
Og med det har vi konkludert med opplæringen vår. Denne guiden introduserer deg for det grunnleggende om å jobbe med nettpakken ved å opprette en TCP -server.
Takk for at du leste!