1
This commit is contained in:
parent
e2ac9b3814
commit
78c774542b
@ -59,21 +59,22 @@ func (this *WSPListener_) accept() {
|
|||||||
*/
|
*/
|
||||||
func (this *WSPListener_) socketRead(conn net.Conn) {
|
func (this *WSPListener_) socketRead(conn net.Conn) {
|
||||||
buf := make([]byte, 1024 * 64)
|
buf := make([]byte, 1024 * 64)
|
||||||
//recvBuf := make([]byte, 1024 * 64)
|
recvBuf := make([]byte, 1024 * 64 * 2)
|
||||||
offset := 0
|
offset := 0
|
||||||
for {
|
for {
|
||||||
bufLen, err := conn.Read(buf)
|
bufLen, err := conn.Read(buf)
|
||||||
if err == nil && bufLen > 0 {
|
if err == nil && bufLen > 0 {
|
||||||
|
copy(buf[:bufLen], recvBuf[offset:])
|
||||||
warning := false
|
warning := false
|
||||||
for bufLen - offset >= 12 {
|
for bufLen - offset >= 12 {
|
||||||
packLen := int(buf[0]) >> 16 + int(buf[1])
|
packLen := int(recvBuf[0]) >> 16 + int(recvBuf[1])
|
||||||
if buf[8] == 'K' && buf[9] == 'S' {
|
if recvBuf[8] == 'K' && recvBuf[9] == 'S' {
|
||||||
if bufLen - offset < 12 + packLen {
|
if bufLen - offset < 12 + packLen {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
hdr := new(q5.MsgHdr)
|
hdr := new(q5.MsgHdr)
|
||||||
hdr.MsgId = int(buf[0]) >> 16 + int(buf[1])
|
hdr.MsgId = int(recvBuf[0]) >> 16 + int(recvBuf[1])
|
||||||
hdr.SeqId = int(buf[0]) >> 16 + int(buf[1])
|
hdr.SeqId = int(recvBuf[0]) >> 16 + int(recvBuf[1])
|
||||||
offset += 12 + packLen
|
offset += 12 + packLen
|
||||||
} else {
|
} else {
|
||||||
warning = true
|
warning = true
|
||||||
@ -81,6 +82,7 @@ func (this *WSPListener_) socketRead(conn net.Conn) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
copy(recvBuf[:offset], recvBuf[:])
|
||||||
if warning {
|
if warning {
|
||||||
f5.SysLog().Warning("收到client非法数据包")
|
f5.SysLog().Warning("收到client非法数据包")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user