Exemple #1
0
        //6.recieve
        private static void Receive()
        {
            while (true)
            {
                if (_socket == null)
                {
                    break;
                }
                if (_socket.Poll(5, SelectMode.SelectRead))
                {
                    try
                    {
                        int    dataLen = GetResLength();
                        byte[] data    = new byte[dataLen];
                        NetRead(data, dataLen);

                        PackageResHead headRes;
                        string         strDataRes;
                        if (PackageFactory.Unpack(data, out headRes, out strDataRes))
                        {
                            OutputHeadRes(headRes);

                            PackageReqHead headReq;
                            if (SendDic.TryGetValue(headRes.MsgId, out headReq))
                            {
                                if (!GetError(headRes.StatusCode))
                                {
                                    headReq.callback(strDataRes);
                                    SendDic.Remove(headRes.MsgId);
                                    Console.WriteLine("SendDic count:{0}", SendDic.Count);
                                }
                            }
                        }
                    }
                    catch
                    {
                        break;
                    }
                }
            }
        }
Exemple #2
0
 //4.Start heartbeat
 private static void BuildHeartbeatHeadPackage()
 {
     _heartbeatBytes = PackageFactory.Pack(1, new BaseReqData());
 }