From 0d7be512eb06c3ceb5689dfc8df517ce0d256acd Mon Sep 17 00:00:00 2001 From: Ikhtiyor Ahmedov Date: Fri, 2 Jun 2017 15:05:04 +0500 Subject: [PATCH] recover from timeout error --- conn.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/conn.go b/conn.go index 97e1dba..1c548c0 100644 --- a/conn.go +++ b/conn.go @@ -958,7 +958,13 @@ func (c *Conn) NextReader() (messageType int, r io.Reader, err error) { panic("repeated read on failed websocket connection") } - return noFrame, nil, c.readErr + err = c.readErr + if netErr, ok := err.(net.Error); ok && netErr.Timeout() { + c.readErr = nil + c.readErrCount-- + } + + return noFrame, nil, err } type messageReader struct{ c *Conn }