This commit is contained in:
crusader 2017-08-25 16:58:12 +09:00
parent a99018b3d2
commit 205ceb6dc1

View File

@ -53,27 +53,31 @@ func (c *client) Path() string {
func (c *client) run() {
hasReadTimeout := c.o.ReadTimeout > 0
c.conn.SetReadLimit(c.o.MaxMessageSize)
defer func() {
c.o.onDisconnected(c)
}()
for {
if hasReadTimeout {
c.conn.SetReadDeadline(time.Now().Add(c.o.ReadTimeout))
}
go func() {
defer func() {
c.o.onDisconnected(c)
}()
// messageType, data, err := c.conn.ReadMessage()
messageType, r, err := c.conn.NextReader()
if err != nil {
if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway) {
//c.fireError(err)
for {
if hasReadTimeout {
c.conn.SetReadDeadline(time.Now().Add(c.o.ReadTimeout))
}
break
} else {
c.onMessage(messageType, r)
// messageType, data, err := c.conn.ReadMessage()
messageType, r, err := c.conn.NextReader()
if err != nil {
if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway) {
//c.fireError(err)
}
break
} else {
c.onMessage(messageType, r)
}
}
}
}()
}
func (c *client) onMessage(messageType int, r io.Reader) {