在如今高度互聯的世界中,網路程式設計非常重要。而 Go 語言作為一門快速、強大且簡單的程式語言,其在網路程式設計領域也越來越受歡迎。以下將介紹如何使用 Go 語言進行網路程式設計。
package main import ( "fmt" "net" ) func main() { conn, err := net.Dial("tcp", "localhost:8000") if err != nil { fmt.Println(err) return } defer conn.Close() fmt.Fprintln(conn, "Hello, server!") }伺服器程式碼:
package main import ( "fmt" "net" ) func main() { ln, err := net.Listen("tcp", ":8000") if err != nil { fmt.Println(err) return } defer ln.Close() fmt.Println("Listening on :8000...") for { conn, err := ln.Accept() if err != nil { fmt.Println(err) continue } handleConnection(conn) } } func handleConnection(conn net.Conn) { defer conn.Close() buf := make([]byte, 1024) n, err := conn.Read(buf) if err != nil { fmt.Println(err) return } fmt.Println("Received:", string(buf[:n])) }
package main import ( "fmt" "net" ) func main() { conn, err := net.Dial("udp", "127.0.0.1:8000") if err != nil { fmt.Println(err) return } defer conn.Close() fmt.Fprintln(conn, "Hello, server!") }伺服器代碼:
package main import ( "fmt" "net" ) func main() { addr, err := net.ResolveUDPAddr("udp", ":8000") if err != nil { fmt.Println(err) return } conn, err := net.ListenUDP("udp", addr) if err != nil { fmt.Println(err) return } defer conn.Close() fmt.Println("Listening on ", addr) buf := make([]byte, 1024) for { n, _, err := conn.ReadFromUDP(buf) if err != nil { fmt.Println(err) continue } fmt.Println("Received:", string(buf[:n])) } }
以下是一個基本的HTTP 伺服器範例,其監聽本地的8080 端口,並返回一個簡單的"Hello, World!" 字串:
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello, World!") }) http.ListenAndServe(":8080", nil) }
以上就是Go 語言中常見的網路程式實作方式。當然,這只是網頁程式設計的入門級實現,您可以在此基礎上,進一步探索 Go 語言強大的網頁程式設計能力。
以上是如何使用 Go 語言進行網路程式設計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!