|
|
@@ -291,10 +291,10 @@ func (r *Client) readClientWsTradeMessage() {
|
|
|
_ = r.wsTradeConn.WriteMessage(mt, msg)
|
|
|
case websocket.CloseMessage:
|
|
|
return
|
|
|
- // case websocket.BinaryMessage:
|
|
|
- // if err := r.clientToQuoteAgentMsg(msg); err != nil {
|
|
|
- // return
|
|
|
- // }
|
|
|
+ case websocket.BinaryMessage:
|
|
|
+ if err := r.clientToTradeAgentMsg(msg); err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
case websocket.TextMessage:
|
|
|
fmt.Println(string(msg))
|
|
|
_ = r.wsTradeConn.WriteMessage(mt, msg)
|
|
|
@@ -318,6 +318,27 @@ func (r *Client) writeClientWsTradeMessage() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// clientToTradeAgentMsg 处理客户端发上来的包
|
|
|
+func (r *Client) clientToTradeAgentMsg(msg []byte) error {
|
|
|
+ var p packet.MiPacket
|
|
|
+ err := p.UnPackHead(msg)
|
|
|
+ if err != nil {
|
|
|
+ // logger.Logger().Errorf("[%v c->s] invalid packet: %v", r.ProxyId, err)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ // 长度24 是心跳包, 目前只允许客户端上行心跳包
|
|
|
+ if p.Length == 24 {
|
|
|
+ // logger.Logger().Debugf("%v [%v c->s] %s", r.ClientIP, r.ProxyId, p.HeaderInfo())
|
|
|
+ // 将心跳发回给客户端
|
|
|
+ err = r.wsTradeConn.WriteMessage(websocket.BinaryMessage, msg)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
// **************** RabbitMQ ****************
|
|
|
|
|
|
// MQPacket 与总线交互的数据体
|