這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
伺服器端:
package mainimport ( "bufio" "fmt" "log" "net")func handleConnection(conn net.Conn) { defer conn.Close() data, err := bufio.NewReader(conn).ReadString('\n') if err != nil { log.Fatal(err) } fmt.Println(string(data)) fmt.Fprintf(conn, "who?\n") data, err = bufio.NewReader(conn).ReadString('\n') if err != nil { log.Fatal(err) } fmt.Println(string(data))}func main() { l, err := net.Listen("tcp", ":2300") if err != nil { log.Fatal(err) } defer l.Close() for { conn, err := l.Accept() if err != nil { log.Fatal(err) } go handleConnection(conn) }}
用戶端:
package mainimport ( "bufio" "fmt" "log" "net")func main() { conn, err := net.Dial("tcp", ":2300") if err != nil { log.Fatal(err) } defer conn.Close() fmt.Fprintf(conn, "hello\n") res, err := bufio.NewReader(conn).ReadString('\n') if err != nil { log.Fatal(err) } fmt.Println(string(res)) fmt.Fprintf(conn, "Jimmy!\n")}