1
This commit is contained in:
parent
581b9e6eab
commit
30729a2272
@ -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() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user