1
This commit is contained in:
parent
581b9e6eab
commit
30729a2272
@ -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,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) {
|
func (this *WSPListener_) decodePacket(buf []byte, offset *int, bufLen int) {
|
||||||
f5.SysLog().Warning("收到client非法数据包")
|
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() {
|
func (this *WSPListener_) parseNetPkt() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user