|
|
@ -8,7 +8,6 @@ import (
|
|
|
|
"git.noahlan.cn/noahlan/nnet/scheduler"
|
|
|
|
"git.noahlan.cn/noahlan/nnet/scheduler"
|
|
|
|
"git.noahlan.cn/noahlan/ntools-go/core/nlog"
|
|
|
|
"git.noahlan.cn/noahlan/ntools-go/core/nlog"
|
|
|
|
"git.noahlan.cn/noahlan/ntools-go/core/pool"
|
|
|
|
"git.noahlan.cn/noahlan/ntools-go/core/pool"
|
|
|
|
"io"
|
|
|
|
|
|
|
|
"net"
|
|
|
|
"net"
|
|
|
|
"sync/atomic"
|
|
|
|
"sync/atomic"
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -71,7 +70,7 @@ func newConnection(server *engine, conn net.Conn) *connection {
|
|
|
|
_, r.isWS = conn.(*WSConn)
|
|
|
|
_, r.isWS = conn.(*WSConn)
|
|
|
|
|
|
|
|
|
|
|
|
// binding session
|
|
|
|
// binding session
|
|
|
|
r.session = newSession(r)
|
|
|
|
r.session = newSession(r, server.sessIdMgr.SessionID())
|
|
|
|
return r
|
|
|
|
return r
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -204,12 +203,18 @@ func (r *connection) read() {
|
|
|
|
for {
|
|
|
|
for {
|
|
|
|
n, err := r.conn.Read(buf)
|
|
|
|
n, err := r.conn.Read(buf)
|
|
|
|
//nlog.Debugf("receive data %v", buf[:n])
|
|
|
|
//nlog.Debugf("receive data %v", buf[:n])
|
|
|
|
if err != nil && err != io.EOF {
|
|
|
|
if err != nil {
|
|
|
|
nlog.Errorf("%s [readLoop] Read message error: %s, session will be closed immediately",
|
|
|
|
nlog.Errorf("%s [readLoop] Read message error: %s, session will be closed immediately",
|
|
|
|
r.ngin.logPrefix(), err.Error())
|
|
|
|
r.ngin.logPrefix(), err.Error())
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if n == 0 {
|
|
|
|
|
|
|
|
nlog.Errorf("%s [readLoop] Read empty message, session will be closed immediately",
|
|
|
|
|
|
|
|
r.ngin.logPrefix())
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if r.packer == nil {
|
|
|
|
if r.packer == nil {
|
|
|
|
nlog.Errorf("%s [readLoop] unexpected error: packer is nil", r.ngin.logPrefix())
|
|
|
|
nlog.Errorf("%s [readLoop] unexpected error: packer is nil", r.ngin.logPrefix())
|
|
|
|
return
|
|
|
|
return
|
|
|
|