package main
import (
"fmt"
"net"
"time"
)
func main() {
addr := "127.0.0.1:8888"
protocol := "tcp"
listener, err := net.Listen(protocol, addr)
if err != nil {
fmt.Println(err)
return
}
for {
conn, err := listener.Accept()
if err != nil { // 服务器关闭
fmt.Println(conn)
continue
}
go func() { //在这里处理并发,因为主例程不会退出,所以工作例程不需要引入计数信号量
fmt.Println("客户端连接成功: ", conn.RemoteAddr())
time.Sleep(10 * time.Second)
// 发送时间
fmt.Fprintln(conn, time.Now().Format("2006-01-02 15:04:05"))
conn.Close()
fmt.Println("客户端退出: ", conn.RemoteAddr())
}()
}
listener.Close()
}
文档更新时间: 2021-08-26 14:58 作者:张尚