fix: ws模块去除心跳定时,响应requestId

This commit is contained in:
TsMask
2024-01-26 16:59:34 +08:00
parent 22cd71ca21
commit 5ee23a1d95
5 changed files with 11 additions and 25 deletions

View File

@@ -22,7 +22,7 @@ func GetCDRConnect(requestID string, data any) ([]byte, error) {
dataMap := neDataService.NewCDREventImpl.SelectPage(query)
resultByte, err := json.Marshal(result.Ok(map[string]any{
"requestID": requestID,
"requestId": requestID,
"data": dataMap,
}))
return resultByte, err

View File

@@ -54,7 +54,7 @@ func GetNetConnections(requestID string, data any) ([]byte, error) {
}
resultByte, err := json.Marshal(result.Ok(map[string]any{
"requestID": requestID,
"requestId": requestID,
"data": dataArr,
}))
return resultByte, err

View File

@@ -135,7 +135,7 @@ func GetProcessData(requestID string, data any) ([]byte, error) {
})
resultByte, err := json.Marshal(result.Ok(map[string]any{
"requestID": requestID,
"requestId": requestID,
"data": dataArr,
}))
return resultByte, err

View File

@@ -22,7 +22,7 @@ func GetUEConnect(requestID string, data any) ([]byte, error) {
dataMap := neDataService.NewUEEventImpl.SelectPage(query)
resultByte, err := json.Marshal(result.Ok(map[string]any{
"requestID": requestID,
"requestId": requestID,
"data": dataMap,
}))
return resultByte, err

View File

@@ -135,27 +135,13 @@ func (s *WSImpl) clientRead(wsClient *model.WSClient) {
// clientWrite 客户端写入消息
func (s *WSImpl) clientWrite(wsClient *model.WSClient) {
ticker := time.NewTicker(time.Second * 5) // 设置心跳间隔为 5 秒钟
defer ticker.Stop()
for {
select {
case <-ticker.C:
wsClient.LastHeartbeat = time.Now().UnixMilli()
// 发送 Ping 消息
err := wsClient.Conn.WriteMessage(websocket.PingMessage, []byte{})
if err != nil {
logger.Warnf("ws PingMessage UID %s err: %s", wsClient.BindUid, err.Error())
s.CloseClient(wsClient.ID)
return
}
case msg := <-wsClient.MsgChan:
// 发送消息
err := wsClient.Conn.WriteMessage(websocket.TextMessage, msg)
if err != nil {
logger.Warnf("ws WriteMessage UID %s err: %s", wsClient.BindUid, err.Error())
s.CloseClient(wsClient.ID)
return
}
for msg := range wsClient.MsgChan {
// 发送消息
err := wsClient.Conn.WriteMessage(websocket.TextMessage, msg)
if err != nil {
logger.Warnf("ws WriteMessage UID %s err: %s", wsClient.BindUid, err.Error())
s.CloseClient(wsClient.ID)
return
}
}
}