Perusverkkopalvelimen rakentaminen Golla

Perusverkkopalvelimen rakentaminen Golla

Go on mielenkiintoinen ohjelmointikieli nykyaikaisten verkkosovellusten ja järjestelmäohjelmistojen rakentamiseen. Se loi valtavan kohua julkaisunsa jälkeen ja tarjoaa palveluja, kuten Dockerin, Kubernetesin, Terraformin, Dropboxin ja Netflixin .

Lisäksi Go:n vankka kokoelma sisäänrakennettuja paketteja tekee siitä loistavan valinnan web-ohjelmointiin. Tämä artikkeli näyttää sinulle, kuinka perusverkkopalvelin kirjoitetaan Gossa .

Tuo tarvittavat paketit

Net/HTTP-paketti sisältää kaiken tarvittavan verkkopalvelimen ja asiakkaan luomiseen. Tämä paketti sisältää hyödyllisiä toimintoja web-ohjelmointiin.

Voit tuoda sen lisäämällä alla olevan rivin lähdekoodisi alkuun:

import "net/http"

Artikkeli käyttää myös fmt- pakettia merkkijonojen muotoiluun ja lokipakettia virheiden käsittelyyn. Voit tuoda ne yksitellen yllä olevan kuvan mukaisesti tai tuoda kaikki paketit yhdellä tuontilausekkeella:

import (
"fmt"
"log"
"net/http"
)

Voit jatkaa pääfunktion kirjoittamista tarvittavien pakettien tuonnin jälkeen. Tallenna lähdetiedosto .go- tunnisteella . Jos käytät Vimia , käytä alla olevaa komentoa Vimin tallentamiseen ja poistumiseen:

:wq server.go

Kirjoita pääfunktio

Go-ohjelmat sijaitsevat suoraan päätoiminnossa, jota kutsutaan osuvasti "main". Sinun on soitettava palvelinpuhelu täällä . Lisää seuraavat rivit lähdekoodiin ja katso, mitä ne tekevät:

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

Esimerkki on pääfunktion määritteleminen func -avainsanalla . Golla on tiukat säännöt avaustuen sijoittelusta, joten varmista, että aloitustuki on oikealla linjalla. Päälauseen ensimmäinen lause määrittää, että kaikki verkkopyynnöt juuripolkuun ( "/" ) käsitellään indeksillä, joka on tyyppi http.HandlerFunc .

Toinen rivi käynnistää verkkopalvelimen http.ListenAndServe -funktion kautta . Se ilmoittaa palvelimelle, että se kuuntelee jatkuvasti saapuvia HTTP-pyyntöjä palvelimen portissa 8080. Tämän toiminnon toista parametria tarvitaan estämään ohjelma loppuun asti.

Koska http.ListenAndServe palauttaa aina virheen, esimerkki käärii tämän kutsun lokiin.Fatal call . Tämä lausunto kirjaa kaikki palvelinpuolella luodut virheilmoitukset.

Toteuta käsittelytoiminnot

Kuten näet, päätoiminto kutsuu käsittelijän funktioindeksiä käsitelläkseen asiakaspyyntöjä. Esimerkki ei kuitenkaan ole vielä määrittänyt tätä toimintoa palvelimelleen.

Lisätään tarvittavat lauseet, jotta indeksifunktiosta tulee käyttökelpoinen:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

Tämä funktio ottaa kaksi eri argumenttia, tyypit http.ResponseWriter ja http.Request . http.ResponseWriter- parametri sisältää palvelimen vastauksen saapuvaan pyyntöön http.Request- objektin muodossa .

Fmt -paketin funktiota Fprintf käytetään tekstimerkkijonojen näyttämiseen ja käsittelemiseen. Artikkeli käyttää tätä näyttämään palvelimen vastaukset verkkopyyntöihin. Lopuksi r.URL.Path[1:]- elementtiä käytetään tietojen hakemiseen juuripolun jälkeen.

Lisää kaikki loput osat

Go-verkkopalvelimesi on valmis, kun olet lisännyt kaikki jäljellä olevat komponentit. Koodi näyttää tältä:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

Ensimmäinen rivi tarvitaan kääntämään tämä Go-verkkopalvelinkoodi suoritettavaksi tiedostoksi.

Perusverkkopalvelimen rakentaminen Golla

Käännä tämä Go-verkkopalvelinkoodi suoritettavaksi tiedostoksi


Lisätietoja palomuureista ja Windows Server 2012:n Windowsin palomuurista

Lisätietoja palomuureista ja Windows Server 2012:n Windowsin palomuurista

Windowsin palomuuri lisäsuojauksella on palomuuri, joka toimii Windows Server 2012:ssa ja on oletuksena käytössä. Windows Server 2012:n palomuuriasetuksia hallitaan Windowsin palomuurin Microsoft Management Consolessa.

Kuinka vaihtaa Vigor Draytek -modeemin ja reitittimen kirjautumissalasana

Kuinka vaihtaa Vigor Draytek -modeemin ja reitittimen kirjautumissalasana

Kun vaihdat Vigor Draytek -modeemin ja reitittimen sisäänkirjautumisen järjestelmänvalvojan sivun salasanan, käyttäjät rajoittavat luvatonta pääsyä modeemin salasanan vaihtamiseen ja suojaavat tärkeitä verkkotietoja.

Kuinka ylikellottaa RAM-muistia helposti AMD Ryzen Masterilla

Kuinka ylikellottaa RAM-muistia helposti AMD Ryzen Masterilla

Onneksi AMD Ryzen -suorittimia käyttävien Windows-tietokoneiden käyttäjät voivat käyttää Ryzen Masteria RAM-muistin ylikellotukseen ilman kosketusta BIOSiin.

7 tapaa korjata Windowsin kannettavan tietokoneen virheet, jotka eivät lataudu USB-C:n kautta

7 tapaa korjata Windowsin kannettavan tietokoneen virheet, jotka eivät lataudu USB-C:n kautta

USB-C-portista on tullut standardi tiedonsiirrolle, videolähdölle ja lataukselle nykyaikaisissa Windows-kannettavissa. Vaikka tämä on kätevää, se voi olla turhauttavaa, kun liität kannettavan tietokoneen USB-C-laturiin, mutta se ei lataudu.

Kuinka korjata Palvelua ei voi luoda -virhe Ultraviewerissa

Kuinka korjata Palvelua ei voi luoda -virhe Ultraviewerissa

Ei voi luoda palvelua -virhe Ultraviewerissa ilmenee, kun asennamme ohjelmiston, jonka virhekoodi on 1072.

Kuinka korjata virhe, kun henkilötunnusta ei näytetä Ultraviewerissa

Kuinka korjata virhe, kun henkilötunnusta ei näytetä Ultraviewerissa

Virhe, jossa tunnistetta ei näytetä Ultraviewerissa, vaikuttaa etätietokoneeseen.

Kuinka käyttää Ultravieweria tiedostojen lähettämiseen ja vastaanottamiseen

Kuinka käyttää Ultravieweria tiedostojen lähettämiseen ja vastaanottamiseen

Ultraviewer ohjaa tietokonetta etänä ja siinä on tila tiedostojen lähettämiseen ja vastaanottamiseen.

6 tapaa poistaa tiedostoja pysyvästi Windowsissa

6 tapaa poistaa tiedostoja pysyvästi Windowsissa

Normaalisti, kun tiedosto poistetaan Windowsissa, tiedostoa ei poisteta heti, vaan se tallennetaan roskakoriin. Sen jälkeen sinun on tehtävä vielä yksi vaihe: tyhjennä roskakori. Mutta jos et halua tehdä tätä toista vaihetta, näytämme sinulle, kuinka voit poistaa tiedoston pysyvästi alla olevassa artikkelissa.

Miten tumma verkko vaikuttaa turvallisuuteen?

Miten tumma verkko vaikuttaa turvallisuuteen?

Pimeä verkko on salaperäinen paikka, jolla on loistava maine. Pimeän verkon löytäminen ei ole vaikeaa. Turvallisen navigoinnin oppiminen on kuitenkin toinen asia, varsinkin jos et tiedä mitä olet tekemässä tai mitä odottaa.

Mikä on Adrozek-virus? Kuinka suojautua Adrozek-virukselta

Mikä on Adrozek-virus? Kuinka suojautua Adrozek-virukselta

Teknisesti Adrozek ei ole virus. Se on selaimen kaappaaja, joka tunnetaan myös nimellä selaimen muokkaaja. Tämä tarkoittaa, että tietokoneellesi on asennettu haittaohjelma tietämättäsi.