1
This commit is contained in:
parent
0555278fbb
commit
e2ac9b3814
@ -7,11 +7,14 @@ import (
|
||||
"q5"
|
||||
"f5"
|
||||
"cs"
|
||||
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
)
|
||||
|
||||
type WSPListener_ struct {
|
||||
listener net.Listener
|
||||
ch <-chan *q5.MsgHdr
|
||||
msgList q5.ListHead
|
||||
}
|
||||
|
||||
var WSPListener = new (WSPListener_)
|
||||
@ -43,13 +46,15 @@ func (this *WSPListener_) accept() {
|
||||
}
|
||||
|
||||
/*
|
||||
struct PackHead
|
||||
struct WSProxyPackHead_C
|
||||
{
|
||||
unsigned short packlen;
|
||||
unsigned short msgid;
|
||||
unsigned int seqid;
|
||||
unsigned short magic_code;
|
||||
unsigned short ext_len;
|
||||
|
||||
unsigned short socket_handle;
|
||||
unsigned long ip_saddr;
|
||||
};
|
||||
*/
|
||||
func (this *WSPListener_) socketRead(conn net.Conn) {
|
||||
@ -93,3 +98,34 @@ func (this *WSPListener_) parseNetPkt() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
struct WSProxyPackHead_S
|
||||
{
|
||||
unsigned short packlen;
|
||||
unsigned short msgid;
|
||||
unsigned int seqid;
|
||||
unsigned short magic_code;
|
||||
unsigned short rpc_error_code;
|
||||
|
||||
unsigned short socket_handle;
|
||||
unsigned short ext_len;
|
||||
};
|
||||
*/
|
||||
func (this *WSPListener_) sendProxyMsg(conn net.Conn, socketHandle uint16, msg proto.Message) {
|
||||
netMsg := msg.(q5.NetMsg)
|
||||
msgId := netMsg.GetNetMsgId()
|
||||
msgData, err := proto.Marshal(msg)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
buff := make([]byte, len(msgData) + 12)
|
||||
buff[0] = byte(len(msgData) & 0xFF)
|
||||
buff[1] = byte(len(msgData) & 0xFFFF >> 16)
|
||||
buff[2] = byte(msgId & 0xFF)
|
||||
buff[3] = byte(msgId >> 16)
|
||||
buff[9] = byte(socketHandle & 0xFF)
|
||||
buff[10] = byte(socketHandle >> 16)
|
||||
copy(msgData[:], buff[12:])
|
||||
conn.Write(buff)
|
||||
}
|
||||
|
@ -64,3 +64,7 @@ func init() {
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
func (x *CMLogin) GetNetMsgId() uint16 {
|
||||
return uint16(CMMessageIdE__CMLogin);
|
||||
}
|
||||
|
@ -12,5 +12,6 @@ type PlayerMgr_ struct {
|
||||
var PlayerMgr = new (PlayerMgr_)
|
||||
|
||||
func (this *PlayerMgr_) CMLogin(hdr *q5.MsgHdr, msg *cs.CMLogin) {
|
||||
rspMsg := cs.SMLogin{}
|
||||
rspMsg := &cs.SMLogin{}
|
||||
WSPListener.sendProxyMsg(hdr.Conn, 0, rspMsg)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user