@@ -1,3 +1,4 @@
|
|||||||
.history
|
.history
|
||||||
/.idea
|
/.idea
|
||||||
|
.vscode
|
||||||
ls-lint
|
ls-lint
|
||||||
@@ -139,17 +139,18 @@ func (rc *RecConn) Shutdown(writeWait time.Duration) {
|
|||||||
func (rc *RecConn) ReadMessage() (messageType int, message []byte, err error) {
|
func (rc *RecConn) ReadMessage() (messageType int, message []byte, err error) {
|
||||||
err = ErrNotConnected
|
err = ErrNotConnected
|
||||||
if rc.IsConnected() {
|
if rc.IsConnected() {
|
||||||
messageType, message, err = rc.Conn.ReadMessage()
|
conn := rc.getConn()
|
||||||
|
messageType, message, err = conn.ReadMessage()
|
||||||
if websocket.IsCloseError(err, websocket.CloseNormalClosure) {
|
if websocket.IsCloseError(err, websocket.CloseNormalClosure) {
|
||||||
rc.Close()
|
rc.Close()
|
||||||
return messageType, message, nil
|
return messageType, message, nil
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil && conn == rc.getConn() {
|
||||||
rc.CloseAndReconnect()
|
rc.CloseAndReconnect()
|
||||||
}
|
}
|
||||||
}
|
if err == nil {
|
||||||
if err == nil {
|
rc.getKeepAliveResponse().setLastDataResponse()
|
||||||
rc.getKeepAliveResponse().setLastDataResponse()
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
@@ -211,14 +212,18 @@ func (rc *RecConn) WriteJSON(v interface{}) error {
|
|||||||
func (rc *RecConn) ReadJSON(v interface{}) error {
|
func (rc *RecConn) ReadJSON(v interface{}) error {
|
||||||
err := ErrNotConnected
|
err := ErrNotConnected
|
||||||
if rc.IsConnected() {
|
if rc.IsConnected() {
|
||||||
err = rc.Conn.ReadJSON(v)
|
conn := rc.getConn()
|
||||||
|
err = conn.ReadJSON(v)
|
||||||
if websocket.IsCloseError(err, websocket.CloseNormalClosure) {
|
if websocket.IsCloseError(err, websocket.CloseNormalClosure) {
|
||||||
rc.Close()
|
rc.Close()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil && conn == rc.getConn() {
|
||||||
rc.CloseAndReconnect()
|
rc.CloseAndReconnect()
|
||||||
}
|
}
|
||||||
|
if err == nil {
|
||||||
|
rc.getKeepAliveResponse().setLastDataResponse()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
|
|||||||
Reference in New Issue
Block a user