- 修复查询分享的资源参数无效的问题
- 修复ssh连接并发写入websocket的问题
This commit is contained in:
@ -2,7 +2,9 @@ package session
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
"next-terminal/server/dto"
|
||||
"next-terminal/server/guacd"
|
||||
"next-terminal/server/term"
|
||||
|
||||
@ -17,6 +19,27 @@ type Session struct {
|
||||
GuacdTunnel *guacd.Tunnel
|
||||
NextTerminal *term.NextTerminal
|
||||
Observer *Manager
|
||||
mutex sync.Mutex
|
||||
}
|
||||
|
||||
func (s *Session) WriteMessage(msg dto.Message) error {
|
||||
if s.WebSocket == nil {
|
||||
return nil
|
||||
}
|
||||
defer s.mutex.Unlock()
|
||||
s.mutex.Lock()
|
||||
message := []byte(msg.ToString())
|
||||
return s.WebSocket.WriteMessage(websocket.TextMessage, message)
|
||||
}
|
||||
|
||||
func (s *Session) WriteString(str string) error {
|
||||
if s.WebSocket == nil {
|
||||
return nil
|
||||
}
|
||||
defer s.mutex.Unlock()
|
||||
s.mutex.Lock()
|
||||
message := []byte(str)
|
||||
return s.WebSocket.WriteMessage(websocket.TextMessage, message)
|
||||
}
|
||||
|
||||
type Manager struct {
|
||||
|
Reference in New Issue
Block a user