nps源码分析
2021-05-18 11:16 宋海宾 阅读(351) 评论(0) 收藏 举报
1. InitConnectionService分析
func InitConnectionService() { bridgePort = beego.AppConfig.String("bridge_port") httpsPort = beego.AppConfig.String("https_proxy_port") httpPort = beego.AppConfig.String("http_proxy_port") webPort = beego.AppConfig.String("web_port") if httpPort == bridgePort || httpsPort == bridgePort || webPort == bridgePort { port, err := strconv.Atoi(bridgePort) if err != nil { logs.Error(err) os.Exit(0) } pMux = pmux.NewPortMux(port, beego.AppConfig.String("web_host")) } }
bridge_port:
默认8024,
http_proxy_port:
默认80
https_proxy_port
默认443
web_port:
默认8080
servers.go
核心入口:StartNewServer
StartNewServer 调用Bridge.StartTunnel,创建全局Bridge,
StartNewServer(8024,)
bridge.go
先调用NewTunnel
然后调用StartTunnel
StartTunnel -->cliProcess --->typeDeal ---> NewClient
最后NewMode
浙公网安备 33010602011771号