go:简简单单的并发网络连接
go 是天生支持并发的,我们只要 使用 go func() 就可以快速实现并发。在网络服务的处理中,实现并发可以大大提高服务的吞吐量,我们来研究一下。 简单的TCP服务器 我们先来实现一个简单的tcp服务,监听8989端口,从连接中读取一段数据,这段数据表示的是当前请求的id,然后返回一段话。 服务器 server/main.go package main import ( "fmt" "log" "net" ) func main() { // 启动tcp连接,监听8989端口 l, err := net.Listen("tcp", ":8989") if err != nil { log.Fatalf("Server listening error: %s\n", err) } for { conn, err := l.Accept() if err != nil { log.Printf("Accept error: %s\n", err) continue } // 接收连接,调用handleConn处理当前连接 handleConn(conn) } } func handleConn(conn net....