// tcp/server/main.go // TCP server端 // 處理函數 func process(conn net.Conn) { defer conn.Close() // 關閉連接 for { reader := bufio.NewReader(conn) var buf [128]byte n, err := reader.Read(buf[:]) // 讀取數據 if err != nil { fmt.Println("read from client failed, err:", err) break } recvStr := string(buf[:n]) fmt.Println("收到client端發來的數據:", recvStr) conn.Write([]byte(recvStr)) // 發送數據 } } func main() { listen, err := net.Listen("tcp", "127.0.0.1:20000") if err != nil { fmt.Println("listen failed, err:", err) return } for { conn, err := listen.Accept() // 建立連接 if err != nil { fmt.Println("accept failed, err:", err) continue } go process(conn) // 啟動一個goroutine處理連接 } }
保存為文件后 編譯成可執行文件 即可使用
轉摘來自 http://topgoer.com