func Start_Random() (int, error) {
//监听随机端口
l, err := net.Listen("tcp", "0.0.0.0:0")
if err != nil {
beego.Error("CAN'T LISTEN: ", err)
return 0, err
}
port := l.Addr().(*net.TCPAddr).Port
beego.Debug("Listen On Port:", port)
go func() {
for {
conn, err := l.Accept() //循环接受客户端和设备的连接请求
if err != nil {
beego.Error("Can't Accept: ", err)
return
}
go onRandomConnect(conn, l) //
}
}()
return port, nil
}
本文介绍了一个使用Go语言实现的随机端口监听功能,通过监听本地的任意可用TCP端口并接受客户端连接请求。当成功监听到一个随机端口后,程序将启动一个循环来不断接收新的连接,并为每个连接创建一个新的处理任务。

被折叠的 条评论
为什么被折叠?



