优化代码
This commit is contained in:
parent
7357cebc34
commit
41768cbec9
@ -83,13 +83,8 @@ func (r *TermHandler) writeToWebsocket() {
|
||||
if r.isRecording {
|
||||
_ = r.nextTerminal.Recorder.WriteData(s)
|
||||
}
|
||||
nextSession := session.GlobalSessionManager.GetById(r.sessionId)
|
||||
// 监控
|
||||
if nextSession != nil && nextSession.Observer != nil {
|
||||
nextSession.Observer.Range(func(key string, ob *session.Session) {
|
||||
_ = ob.WriteMessage(dto.NewMessage(Data, s))
|
||||
})
|
||||
}
|
||||
SendObData(r.sessionId, s)
|
||||
buf = []byte{}
|
||||
}
|
||||
case data := <-r.dataChan:
|
||||
@ -113,3 +108,12 @@ func (r *TermHandler) WriteMessage(msg dto.Message) error {
|
||||
message := []byte(msg.ToString())
|
||||
return r.webSocket.WriteMessage(websocket.TextMessage, message)
|
||||
}
|
||||
|
||||
func SendObData(sessionId, s string) {
|
||||
nextSession := session.GlobalSessionManager.GetById(sessionId)
|
||||
if nextSession != nil && nextSession.Observer != nil {
|
||||
nextSession.Observer.Range(func(key string, ob *session.Session) {
|
||||
_ = ob.WriteMessage(dto.NewMessage(Data, s))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -5,8 +5,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"next-terminal/server/api"
|
||||
"next-terminal/server/dto"
|
||||
"next-terminal/server/global/session"
|
||||
"next-terminal/server/term"
|
||||
|
||||
"github.com/gliderlabs/ssh"
|
||||
@ -51,24 +49,15 @@ func (w *Writer) Write(p []byte) (n int, err error) {
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
sendObData(w.sessionId, s)
|
||||
api.SendObData(w.sessionId, s)
|
||||
}
|
||||
} else {
|
||||
err := w.recorder.WriteData(s)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
sendObData(w.sessionId, s)
|
||||
api.SendObData(w.sessionId, s)
|
||||
}
|
||||
}
|
||||
return (*w.sess).Write(p)
|
||||
}
|
||||
|
||||
func sendObData(sessionId, s string) {
|
||||
nextSession := session.GlobalSessionManager.GetById(sessionId)
|
||||
if nextSession != nil && nextSession.Observer != nil {
|
||||
nextSession.Observer.Range(func(key string, ob *session.Session) {
|
||||
_ = ob.WriteMessage(dto.NewMessage(api.Data, s))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user