内容简介:哈哈哈哈,我仅仅在handleConn前面加了一个go。就实现了并发。这真是太棒了。和之前相比的是,原版的代码只能同时接受一个nc连接,在连接结束之后才能接受另一个。而现在可以并发的接受很多连接了。end 下次我们要书写一个nc连接到这个服务器上来。
package main import ( "io" "log" "net" "time" ) func main() { listenner,err:=net.Listen("tcp","localhost:8000") if err != nil { log.Fatal(err) } for { conn,err := listenner.Accept() if err != nil { log.Print(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(1*time.Second) } }
哈哈哈哈,我仅仅在handleConn前面加了一个go。就实现了并发。这真是太棒了。和之前相比的是,原版的代码只能同时接受一个nc连接,在连接结束之后才能接受另一个。而现在可以并发的接受很多连接了。
end 下次我们要书写一个nc连接到这个服务器上来。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- GoLang 示例:并发回声服务器
- Golang: TCP 简单并发服务器
- 高并发高性能服务器是如何实现的
- Nginx 之大并发服务器架构实战技法三
- Windows服务器高并发处理IOCP(完成端口)详细说明
- 【Zinx第一章-引言】Golang轻量级并发服务器框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。