mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-03 23:20:26 +08:00
优化API节点监听逻辑,提升兼容性
如果用户填写的GPRC监听端口中的地址无法监听,则尝试只监听端口
This commit is contained in:
@@ -315,8 +315,20 @@ func (this *APINode) listenPorts(apiNode *models.APINode) (isListening bool) {
|
||||
for _, addr := range listen.Addresses() {
|
||||
listener, err := net.Listen("tcp", addr)
|
||||
if err != nil {
|
||||
remotelogs.Error("API_NODE", "listening '"+addr+"' failed: "+err.Error())
|
||||
continue
|
||||
remotelogs.Error("API_NODE", "listening '"+addr+"' failed: "+err.Error() + ", we will try to listen port only")
|
||||
|
||||
// 试着只监听端口
|
||||
_, port, err := net.SplitHostPort(addr)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
remotelogs.Println("API_NODE", "retry listening port ':"+port+"' only ...")
|
||||
listener, err = net.Listen("tcp", ":"+port)
|
||||
if err != nil {
|
||||
remotelogs.Error("API_NODE", "listening ':"+port+"' failed: "+err.Error())
|
||||
continue
|
||||
}
|
||||
remotelogs.Println("API_NODE", "retry listening port ':"+port+"' only ok")
|
||||
}
|
||||
go func() {
|
||||
err := this.listenRPC(listener, nil)
|
||||
@@ -351,8 +363,19 @@ func (this *APINode) listenPorts(apiNode *models.APINode) (isListening bool) {
|
||||
for _, addr := range listen.Addresses() {
|
||||
listener, err := net.Listen("tcp", addr)
|
||||
if err != nil {
|
||||
remotelogs.Error("API_NODE", "listening '"+addr+"' failed: "+err.Error())
|
||||
continue
|
||||
remotelogs.Error("API_NODE", "listening '"+addr+"' failed: "+err.Error() + ", we will try to listen port only")
|
||||
// 试着只监听端口
|
||||
_, port, err := net.SplitHostPort(addr)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
remotelogs.Println("API_NODE", "retry listening port ':"+port+"' only ...")
|
||||
listener, err = net.Listen("tcp", ":"+port)
|
||||
if err != nil {
|
||||
remotelogs.Error("API_NODE", "listening ':"+port+"' failed: "+err.Error())
|
||||
continue
|
||||
}
|
||||
remotelogs.Println("API_NODE", "retry listening port ':"+port+"' only ok")
|
||||
}
|
||||
go func() {
|
||||
err := this.listenRPC(listener, &tls.Config{
|
||||
|
||||
Reference in New Issue
Block a user