This commit is contained in:
laodaming 2023-08-30 11:13:10 +08:00
parent e5e51fc6d5
commit f04330c85d
2 changed files with 28 additions and 28 deletions

View File

@ -133,15 +133,15 @@ func (l *DataTransferLogic) DataTransfer(w http.ResponseWriter, r *http.Request)
return return
} }
//循环读客户端信息 //循环读客户端信息
go ws.readLoop() go ws.acceptBrowserMessage()
//循环把数据发送给客户 //消费出口数据并发送浏览器
go ws.writeLoop() go ws.consumeOutChanData()
//推消息到云渲染 //消费入口数据
go ws.sendLoop() go ws.consumeInChanData()
//操作连接中渲染任务的增加/删除 //操作连接中渲染任务的增加/删除
go ws.operationRenderTask() go ws.operationRenderTask()
//消费渲染缓冲队列 //消费渲染缓冲队列
go ws.renderImage() go ws.consumeRenderImageData()
//心跳 //心跳
ws.heartbeat() ws.heartbeat()
} }
@ -277,7 +277,7 @@ func (w *wsConnectItem) close() {
} }
// 读取出口缓冲队列数据输出返回给浏览器端 // 读取出口缓冲队列数据输出返回给浏览器端
func (w *wsConnectItem) writeLoop() { func (w *wsConnectItem) consumeOutChanData() {
defer func() { defer func() {
if err := recover(); err != nil { if err := recover(); err != nil {
logx.Error("write loop panic:", err) logx.Error("write loop panic:", err)
@ -297,8 +297,25 @@ func (w *wsConnectItem) writeLoop() {
} }
} }
// 接受客户端发来的消息并写入入口缓冲队列 // 消费websocket入口数据池中的数据
func (w *wsConnectItem) readLoop() { func (w *wsConnectItem) consumeInChanData() {
defer func() {
if err := recover(); err != nil {
logx.Error("send loop panic:", err)
}
}()
for {
select {
case <-w.closeChan:
return
case data := <-w.inChan:
w.dealwithReciveData(data)
}
}
}
// 接受浏览器端发来的消息并写入入口缓冲队列
func (w *wsConnectItem) acceptBrowserMessage() {
defer func() { defer func() {
if err := recover(); err != nil { if err := recover(); err != nil {
logx.Error("read loop panic:", err) logx.Error("read loop panic:", err)
@ -324,23 +341,6 @@ func (w *wsConnectItem) readLoop() {
} }
} }
// 消费websocket入口数据池中的数据
func (w *wsConnectItem) sendLoop() {
defer func() {
if err := recover(); err != nil {
logx.Error("send loop panic:", err)
}
}()
for {
select {
case <-w.closeChan:
return
case data := <-w.inChan:
w.dealwithReciveData(data)
}
}
}
// 把要传递给客户端的数据放入出口缓冲队列 // 把要传递给客户端的数据放入出口缓冲队列
func (w *wsConnectItem) sendToOutChan(data []byte) { func (w *wsConnectItem) sendToOutChan(data []byte) {
select { select {

View File

@ -56,8 +56,8 @@ func (w *wsConnectItem) sendToRenderChan(data []byte) {
} }
} }
// 渲染发送到组装数据组装数据(缓冲队列) // 消费渲染缓冲队列数据
func (w *wsConnectItem) renderImage() { func (w *wsConnectItem) consumeRenderImageData() {
defer func() { defer func() {
if err := recover(); err != nil { if err := recover(); err != nil {
logx.Error("func renderImage err:", err) logx.Error("func renderImage err:", err)