修改重试逻辑

This commit is contained in:
lwch
2021-08-24 18:26:57 +08:00
parent 57d1cb5479
commit 6c0dde5a00
2 changed files with 30 additions and 6 deletions

View File

@@ -1,6 +1,7 @@
package handler
import (
"errors"
"natpass/code/network"
"strings"
"sync"
@@ -57,7 +58,16 @@ func (c *client) run() {
}
func (c *client) writeMessage(msg *network.Msg) error {
return c.c.WriteMessage(msg, c.parent.cfg.WriteTimeout)
for i := 0; i < 10; i++ {
err := c.c.WriteMessage(msg, c.parent.cfg.WriteTimeout)
if err != nil {
if strings.Contains(err.Error(), "i/o timeout") {
continue
}
return err
}
}
return errors.New("too many retry")
}
func (c *client) addLink(id string) {