mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-05 01:20:25 +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() {
|
for _, addr := range listen.Addresses() {
|
||||||
listener, err := net.Listen("tcp", addr)
|
listener, err := net.Listen("tcp", addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
remotelogs.Error("API_NODE", "listening '"+addr+"' failed: "+err.Error())
|
remotelogs.Error("API_NODE", "listening '"+addr+"' failed: "+err.Error() + ", we will try to listen port only")
|
||||||
continue
|
|
||||||
|
// 试着只监听端口
|
||||||
|
_, 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() {
|
go func() {
|
||||||
err := this.listenRPC(listener, nil)
|
err := this.listenRPC(listener, nil)
|
||||||
@@ -351,8 +363,19 @@ func (this *APINode) listenPorts(apiNode *models.APINode) (isListening bool) {
|
|||||||
for _, addr := range listen.Addresses() {
|
for _, addr := range listen.Addresses() {
|
||||||
listener, err := net.Listen("tcp", addr)
|
listener, err := net.Listen("tcp", addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
remotelogs.Error("API_NODE", "listening '"+addr+"' failed: "+err.Error())
|
remotelogs.Error("API_NODE", "listening '"+addr+"' failed: "+err.Error() + ", we will try to listen port only")
|
||||||
continue
|
// 试着只监听端口
|
||||||
|
_, 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() {
|
go func() {
|
||||||
err := this.listenRPC(listener, &tls.Config{
|
err := this.listenRPC(listener, &tls.Config{
|
||||||
|
|||||||
Reference in New Issue
Block a user