This commit is contained in:
aozhiwei 2023-08-11 11:21:07 +08:00
parent 581b9e6eab
commit 30729a2272

View File

@ -84,7 +84,7 @@ func (this *WSPListener_) socketRead(conn net.Conn) {
prevOffset := 0
for {
prevOffset = offset
this.decodePacket(&recvBuf, &offset, recvBufLen)
this.decodePacket(recvBuf, &offset, recvBufLen)
if prevOffset >= offset || offset >= recvBufLen {
break
}
@ -106,43 +106,30 @@ func (this *WSPListener_) socketRead(conn net.Conn) {
}
}
}
/*
buf := make([]byte, 1024 * 64)
recvBufLen := 0
recvBuf := make([]byte, 1024 * 64 * 2)
offset := 0
for {
bufLen, err := conn.Read(buf)
if err == nil && bufLen > 0 {
copy(recvBuf[offset:], buf[:bufLen])
recvBufLen += bufLen
warning := false
for recvBufLen - offset >= 12 {
packLen := int(recvBuf[0]) + int(recvBuf[1] << 16)
if recvBuf[8] == 'K' && recvBuf[9] == 'S' {
if recvBufLen - offset < 12 + packLen {
continue
}
hdr := new(q5.MsgHdr)
hdr.MsgId = int(recvBuf[2]) + int(recvBuf[3] << 16)
//hdr.SeqId = int(recvBuf[4]) + int(recvBuf[5] )
offset += 12 + packLen
} else {
warning = true
offset++
continue
}
}
copy(recvBuf[:], recvBuf[:offset])
if warning {
f5.SysLog().Warning("收到client非法数据包")
}
}
}*/
}
func (this *WSPListener_) decodePacket(recvBuf *[]byte, offset *int, recvBufLen int) {
f5.SysLog().Warning("收到client非法数据包")
func (this *WSPListener_) decodePacket(buf []byte, offset *int, bufLen int) {
warning := false
for bufLen - *offset >= 20 {
packLen := int(buf[*offset + 0]) + int(buf[*offset + 1] << 16)
if buf[*offset + 8] == 'K' && buf[*offset + 9] == 'S' {
if bufLen - *offset < 12 + packLen {
continue
}
hdr := new(q5.MsgHdr)
hdr.MsgId = int(buf[*offset + 2]) + int(buf[*offset + 3] << 16)
//hdr.SeqId = int(recvBuf[4]) + int(recvBuf[5] )
*offset += 20 + packLen
} else {
warning = true
*offset++
continue
}
}
if warning {
f5.SysLog().Warning("收到client非法数据包")
}
}
func (this *WSPListener_) parseNetPkt() {