package main import ( "net" "fmt" "strings" ) func handleConn(conn net.Conn){ defer conn.Close() for { buf:=make([]byte,1024) n,connReadErr:=conn.Read(buf) if connReadErr!=nil { fmt.Println(connReadErr) return } bufStr:=string(buf[:n]) addr:=conn.RemoteAddr().String(); fmt.Printf("addr==%s,buf==%s\n",addr,bufStr) if (string(buf[:n-1])=="exit") { fmt.Printf("addr==%s ===》exit\n",addr)//退出连接请求 return } conn.Write([]byte(strings.ToUpper(bufStr)))//回复客户端大写字符 } } func main() { listener,listenerErr:= net.Listen("tcp","127.0.0.1:8000") if listenerErr!=nil { fmt.Print(listenerErr) } defer listener.Close() for { con,connErr:=listener.Accept(); if connErr!=nil { fmt.Print(connErr) return } go handleConn(con) } }
GO简单的并发服务器样例
猜你喜欢
转载自blog.csdn.net/qq_15555767/article/details/81811157
今日推荐
周排行