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