mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-26 19:46:57 +08:00
Merge branch 'errcode' of github.com:OpenIMSDK/Open-IM-Server into errcode
This commit is contained in:
commit
3d647ee41b
@ -18,6 +18,7 @@ import (
|
|||||||
var ErrConnClosed = errors.New("conn has closed")
|
var ErrConnClosed = errors.New("conn has closed")
|
||||||
var ErrNotSupportMessageProtocol = errors.New("not support message protocol")
|
var ErrNotSupportMessageProtocol = errors.New("not support message protocol")
|
||||||
var ErrClientClosed = errors.New("client actively close the connection")
|
var ErrClientClosed = errors.New("client actively close the connection")
|
||||||
|
var ErrPanic = errors.New("panic error")
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// MessageText is for UTF-8 encoded text messages like JSON.
|
// MessageText is for UTF-8 encoded text messages like JSON.
|
||||||
@ -71,6 +72,9 @@ func (c *Client) ResetClient(ctx *UserConnContext, conn LongConn, isCompress boo
|
|||||||
c.userID = ctx.GetUserID()
|
c.userID = ctx.GetUserID()
|
||||||
c.ctx = ctx
|
c.ctx = ctx
|
||||||
c.longConnServer = longConnServer
|
c.longConnServer = longConnServer
|
||||||
|
c.isBackground = false
|
||||||
|
c.closed = false
|
||||||
|
c.closedErr = nil
|
||||||
}
|
}
|
||||||
func (c *Client) pongHandler(_ string) error {
|
func (c *Client) pongHandler(_ string) error {
|
||||||
c.conn.SetReadDeadline(pongWait)
|
c.conn.SetReadDeadline(pongWait)
|
||||||
@ -79,6 +83,7 @@ func (c *Client) pongHandler(_ string) error {
|
|||||||
func (c *Client) readMessage() {
|
func (c *Client) readMessage() {
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
|
c.closedErr = ErrPanic
|
||||||
fmt.Println("socket have panic err:", r, string(debug.Stack()))
|
fmt.Println("socket have panic err:", r, string(debug.Stack()))
|
||||||
}
|
}
|
||||||
c.close()
|
c.close()
|
||||||
@ -92,6 +97,7 @@ func (c *Client) readMessage() {
|
|||||||
c.closedErr = returnErr
|
c.closedErr = returnErr
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
log.ZDebug(c.ctx, "readMessage", "messageType", messageType)
|
||||||
if c.closed == true { //连接刚置位已经关闭,但是协程还没退出的场景
|
if c.closed == true { //连接刚置位已经关闭,但是协程还没退出的场景
|
||||||
c.closedErr = ErrConnClosed
|
c.closedErr = ErrConnClosed
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user