Go 语言圣经 8.2 示例: 并发的Clock服务

8.2 示例: 并发的Clock服务

知识点

  • 1.网络编程是并发大显身手的一个领域
  • 2.go语言的net包,提供编写一个网络客户端或者服务器程序的基本组件

代码

func test_clock()  {
    listener, err := net.Listen("tcp", "localhost:8000")
    if err != nil {
        log.Fatal(err)
    }

    for {
        conn, err := listener.Accept()
        if err != nil {
            log.Fatal(err)
            continue
        }
        go handleConn(conn)
    }
}
func handleConn(c net.Conn)  {
    defer c.Close()

    for {
        _, err := io.WriteString(c, time.Now().Format("15:04:05\n"))
        if err != nil {
            return
        }
        time.Sleep(time.Second * 1.0)
    }
}
——不足之处,欢迎补充——

备注

《Go 语言圣经》

  • 学习记录所使用的GO版本是1.8
  • 学习记录所使用的编译器工具为GoLand
  • 学习记录所使用的系统环境为Mac os
  • 学习者有一定的C语言基础

代码仓库

猜你喜欢

转载自blog.csdn.net/liushihua147/article/details/80989933