Browse Source

解决行情连接在接收控制信号(0x42)时引发的错误

zhou.xiaoning 2 years ago
parent
commit
8ea3d3d0f8
1 changed files with 6 additions and 1 deletions
  1. 6 1
      client/msgRealQuote.go

+ 6 - 1
client/msgRealQuote.go

@@ -50,9 +50,14 @@ func DispatchRealQuote(p *packet.MiQuotePacket, clinet *Client) {
 
 // parseWareInfo 从报文中解析出所有报价商品
 func parseWareInfo(p *packet.MiQuotePacket) []wareInfo {
-	data := p.OriMsg[14:]
 	ware := make([]wareInfo, 0)
 
+	// 0x42(66)是控制信息,要过滤掉
+	if p.OriMsg[5] == 0x42 {
+		return ware
+	}
+
+	data := p.OriMsg[14:]
 	nPos1, nPos2 := -1, -1
 	for i := 0; i < len(data); i++ {
 		// 报价包开始