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) dataMap := neDataService.NewCDREventImpl.SelectPage(query)
resultByte, err := json.Marshal(result.Ok(map[string]any{ resultByte, err := json.Marshal(result.Ok(map[string]any{
"requestID": requestID, "requestId": requestID,
"data": dataMap, "data": dataMap,
})) }))
return resultByte, err 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{ resultByte, err := json.Marshal(result.Ok(map[string]any{
"requestID": requestID, "requestId": requestID,
"data": dataArr, "data": dataArr,
})) }))
return resultByte, err 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{ resultByte, err := json.Marshal(result.Ok(map[string]any{
"requestID": requestID, "requestId": requestID,
"data": dataArr, "data": dataArr,
})) }))
return resultByte, err return resultByte, err

View File

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

View File

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