Skip to content

Commit 3d56b2b

Browse files
committed
如果channel关闭则工作连接关闭
1 parent 8556c66 commit 3d56b2b

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

manager/SessionsManager.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ func (sess *SessionsManager) connHdl(conn net.Conn) {
187187
GatewaySession: yamuxSession,
188188
WorkConnIsOpen: true,
189189
WorkConn: make(chan net.Conn, 5)}
190-
//:TODO 新的登录存储之前先清除旧的同id登录
190+
//新的登录存储之前先清除旧的同id登录
191191
sess.SetSession(token.RunId, gatewaySession)
192192
}
193193

@@ -198,7 +198,7 @@ func (sess *SessionsManager) connHdl(conn net.Conn) {
198198
log.Println("获取到一个Gateway主动发起的工作连接")
199199
log.Println("GatewayWorkConn:", m.RunId, "@", m.Version)
200200
//TODO 验证Secret
201-
token, _ = models.DecodeUnverifiedToken(config.ConfigMode.Security.LoginKey)
201+
//token, err = models.DecodeToken(config.ConfigMode.Security.LoginKey, m.Secret)
202202
//if err != nil {
203203
// log.Println(err.Error())
204204
// conn.Close()
@@ -223,8 +223,10 @@ func (sess *SessionsManager) connHdl(conn net.Conn) {
223223
//created by github.com/OpenIoTHub/server-go/manager.SessionsManager.listenerHdl in goroutine 12
224224
// /Users/iotserv/git/server-go/manager/listen.go:131 +0x1e5
225225
session.WorkConnMutex.Lock()
226-
if session.WorkConnIsOpen {
226+
if session.WorkConnIsOpen && session.WorkConn != nil {
227227
session.WorkConn <- conn
228+
} else {
229+
conn.Close()
228230
}
229231
session.WorkConnMutex.Unlock()
230232
}
@@ -237,8 +239,8 @@ func (sess *SessionsManager) connHdl(conn net.Conn) {
237239
conn.Close()
238240
return
239241
}
240-
if !token.IfContainPermission(models.PermissionOpenIoTHubLogin) {
241-
log.Println("token type err ,not 2")
242+
if token == nil || !token.IfContainPermission(models.PermissionOpenIoTHubLogin) {
243+
log.Println("token type err ,not PermissionOpenIoTHubLogin")
242244
conn.Close()
243245
return
244246
}

0 commit comments

Comments
 (0)