Exemple #1
0
        public int curPrefix            = 0;//需要读取的数据总长度

        public void ReceivedCallback(IAsyncResult ar)
        {
            try
            {
                StateObject so       = (StateObject)ar.AsyncState;
                Socket      client   = so.workSocket;
                int         readSize = client.EndReceive(ar); //结束读取,返回已读取的缓冲区里的字节数组长度
                                                              //将每次读取的数据,写入内存流里
                receiveData.Write(so.buffer, 0, readSize);
                receiveData.Position = 0;

                NetMsgHeader msgXp = new NetMsgHeader();
                msgXp.decode(receiveData);
            }
            catch
            { }
        }
Exemple #2
0
        public int curPrefix            = 0;//需要读取的数据总长度

        public void ReceivedCallback(IAsyncResult ar)
        {
            try
            {
                StateObject so       = (StateObject)ar.AsyncState;
                Socket      client   = so.workSocket;
                int         readSize = client.EndReceive(ar); //结束读取,返回已读取的缓冲区里的字节数组长度
                                                              //将每次读取的数据,写入内存流里
                receiveData.Write(so.buffer, 0, readSize);
                receiveData.Position = 0;

                NetMsgHeader msgXp = new NetMsgHeader();
                msgXp.decode(receiveData);

                HelloResponse resp = HelloResponse.ParseFrom(msgXp.body);
                "Retcode:{0}".Log(resp.Retcode);
                if (resp.HasErrmsg)
                {
                    resp.Errmsg.Log();
                }
            }
            catch
            { }
        }