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