From ac08b6c4b2cf62be21a6b280426ad56bc6ee3d3f Mon Sep 17 00:00:00 2001 From: aceld Date: Mon, 11 Mar 2019 09:46:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=BA=9B=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E4=BF=A1=E6=81=AF=E4=B8=8E=E4=BF=AE=E6=AD=A3=E6=89=93?= =?UTF-8?q?=E5=8C=85msgID=E5=92=8Clength=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/globalobj.go | 4 ++-- znet/connection.go | 2 ++ znet/datapack.go | 16 ++++++++-------- znet/message.go | 4 ++-- znet/server.go | 1 + 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/utils/globalobj.go b/utils/globalobj.go index 4134d44..28f49a6 100644 --- a/utils/globalobj.go +++ b/utils/globalobj.go @@ -80,8 +80,8 @@ func init() { //初始化GlobalObject变量,设置一些默认值 GlobalObject = &GlobalObj{ Name: "ZinxServerApp", - Version: "V0.4", - TcpPort: 7777, + Version: "V0.11", + TcpPort: 8999, Host: "0.0.0.0", MaxConn: 12000, MaxPacketSize: 4096, diff --git a/znet/connection.go b/znet/connection.go index b89d88b..00a8278 100644 --- a/znet/connection.go +++ b/znet/connection.go @@ -69,6 +69,7 @@ func (c *Connection) StartWriter() { fmt.Println("Send Data error:, ", err, " Conn Writer exit") return } + fmt.Printf("Send data succ! data = %+v\n", data) case data, ok := <-c.msgBuffChan: if ok { //有数据要写给客户端 @@ -104,6 +105,7 @@ func (c *Connection) StartReader() { fmt.Println("read msg head error ", err) break } + fmt.Printf("read headData %+v\n", headData) //拆包,得到msgid 和 datalen 放在msg中 msg, err := dp.Unpack(headData) diff --git a/znet/datapack.go b/znet/datapack.go index fdbbd6d..3b27696 100644 --- a/znet/datapack.go +++ b/znet/datapack.go @@ -26,13 +26,13 @@ func(dp *DataPack) Pack(msg ziface.IMessage)([]byte, error) { //创建一个存放bytes字节的缓冲 dataBuff := bytes.NewBuffer([]byte{}) - //写msgID - if err := binary.Write(dataBuff, binary.LittleEndian, msg.GetMsgId()); err != nil { + //写dataLen + if err := binary.Write(dataBuff, binary.LittleEndian, msg.GetDataLen()); err != nil { return nil, err } - //写dataLen - if err := binary.Write(dataBuff, binary.LittleEndian, msg.GetDataLen()); err != nil { + //写msgID + if err := binary.Write(dataBuff, binary.LittleEndian, msg.GetMsgId()); err != nil { return nil, err } @@ -51,13 +51,13 @@ func(dp *DataPack) Unpack(binaryData []byte)(ziface.IMessage, error) { //只解压head的信息,得到dataLen和msgID msg := &Message{} - //读msgID - if err := binary.Read(dataBuff, binary.LittleEndian, &msg.Id); err != nil { + //读dataLen + if err := binary.Read(dataBuff, binary.LittleEndian, &msg.DataLen); err != nil { return nil, err } - //读dataLen - if err := binary.Read(dataBuff, binary.LittleEndian, &msg.DataLen); err != nil { + //读msgID + if err := binary.Read(dataBuff, binary.LittleEndian, &msg.Id); err != nil { return nil, err } diff --git a/znet/message.go b/znet/message.go index 2f7430e..db5f5e3 100644 --- a/znet/message.go +++ b/znet/message.go @@ -1,16 +1,16 @@ package znet type Message struct { - Id uint32 //消息的ID DataLen uint32 //消息的长度 + Id uint32 //消息的ID Data []byte //消息的内容 } //创建一个Message消息包 func NewMsgPackage(id uint32, data []byte) *Message { return &Message{ - Id: id, DataLen: uint32(len(data)), + Id: id, Data: data, } } diff --git a/znet/server.go b/znet/server.go index 9fc67bd..02f2c83 100644 --- a/znet/server.go +++ b/znet/server.go @@ -87,6 +87,7 @@ func (s *Server) Start() { fmt.Println("Accept err ", err) continue } + fmt.Println("Get conn remote addr = ", conn.RemoteAddr().String()) //3.2 设置服务器最大连接控制,如果超过最大连接,那么则关闭此新的连接 if s.ConnMgr.Len() >= utils.GlobalObject.MaxConn {