本文實例講述了Go語言實現socket的方法。分享給大家供大家參考。具體分析如下:
用golang不用他的net包還有什么意義,這里提供一個測試代碼:
server.go 服務端:
復制代碼代碼如下:
package main
import (
"fmt"
"log"
"net"
"bufio"
)
func handleConnection(conn net.Conn) {
data, err := bufio.NewReader(conn).ReadString('/n')
if err != nil {
log.Fatal("get client data error: ", err)
}
fmt.Printf("%#v/n", data)
fmt.Fprintf(conn, "hello client/n")
conn.Close()
}
func main() {
ln, err := net.Listen("tcp", ":6010")
if err != nil {
panic(err)
}
for {
conn, err := ln.Accept()
if err != nil {
log.Fatal("get client connection error: ", err)
}
go handleConnection(conn)
}
}
client.go 客戶端:
復制代碼代碼如下:
package main
import (
"fmt"
"net"
"bufio"
)
func main() {
conn, err := net.Dial("tcp", ":6010")
if err != nil {
panic(err)
}
fmt.Fprintf(conn, "hello server/n")
data, err := bufio.NewReader(conn).ReadString('/n')
if err != nil {
panic(err)
}
fmt.Printf("%#v/n", data)
}
希望本文所述對大家的Go語言程序設計有所幫助。