用Go写的顺序时钟服务器,结果端口号试过了,都不行,不知道该怎么办

OctopusLian · · 1001 次点击
我是指你调用函数的时候啊,不是声明函数啊 ```go package main import ( "io" "log" "net" "time" ) func main() { listener, err := net.Listen("tcp", "localhost:10001") if err != nil { log.Fatal(err) } for { conn, err := listener.Accept() if err != nil { log.Print(err) // e.g., connection aborted continue } go handleConn(conn) // handle one connection at a time } } func handleConn(c net.Conn) { defer c.Close() for { _, err := io.WriteString(c, time.Now().Format("15:04:05\n")) if err != nil { return // e.g., client disconnected } time.Sleep(1 * time.Second) } } ```
#3
更多评论
处理连接时最好使用go协程,`handleConn(conn)` 改为 `go handleConn(conn)`,不然你这个程序就只能处理一个连接,其他的都被阻塞住
#1
OctopusLian
熟能生巧,勤能补拙,念念不忘,必有回响。
谢谢回复,我试了,还是不行啊! ![image.png](https://static.studygolang.com/180628/19a2eacc51d230fda1b84bb8f3f9e3ed.png)
#2