Ejemplo n.º 1
0
        public void Test2()
        {
            var aleData1 = new AleConnectionConfirm()
            {
                ServerID = 10,
            };

            var aleFrame1 = new AleFrame(1, 111, false, aleData1);

            aleFrame1.Version         = 1;
            aleFrame1.ApplicationType = 22;
            aleFrame1.SequenceNo      = 300;

            Assert.AreEqual(AleFrameType.ConnectionConfirm, aleFrame1.FrameType);

            var bytes = aleFrame1.GetBytes();

            var aleFrame2 = new AleFrame();

            aleFrame2.ParseBytes(bytes);

            Assert.AreEqual(aleFrame2.Version, aleFrame1.Version);
            Assert.AreEqual(aleFrame2.ApplicationType, aleFrame1.ApplicationType);
            Assert.AreEqual(aleFrame2.SequenceNo, aleFrame1.SequenceNo);
            Assert.AreEqual(aleFrame2.IsNormal, aleFrame1.IsNormal);

            var aleData2 = aleFrame2.UserData as AleConnectionConfirm;

            Assert.NotNull(aleData2);
            Assert.AreEqual(aleData1.ServerID, aleData2.ServerID);
        }
Ejemplo n.º 2
0
 protected void CheckCcFrame(AleConnectionConfirm ccData)
 {
     if (ccData.ServerID != this.Context.RsspEP.RemoteID)
     {
         throw new Exception(string.Format("CC帧中的应答方编号与期望的不一致,期望值={0},实际值={1}",
                                           this.Context.RsspEP.RemoteID, ccData.ServerID));
     }
 }
        public void Test1()
        {
            var data1 = new AleConnectionConfirm();

            data1.ServerID = 11;
            data1.UserData = new byte[] { 100, 200 };

            var bytes = data1.GetBytes();

            var data2 = new AleConnectionConfirm();

            data2.ParseBytes(bytes, 0, bytes.Length - 1);

            Assert.AreEqual(AleFrameType.ConnectionConfirm, data2.FrameType);
            Assert.AreEqual(11, data2.ServerID);
            Assert.AreEqual(100, data2.UserData[0]);
            Assert.AreEqual(200, data2.UserData[1]);
        }
Ejemplo n.º 4
0
        protected void SendConnectionConfirmFrame(AleTunnel theConnection)
        {
            var au2Packet = this.Context.AuMsgBuilder.BuildAu2Packet();

            var ccData = new AleConnectionConfirm(this.Context.RsspEP.LocalID, au2Packet);

            // 构建AleFrame。
            ushort seqNo   = 0;
            var    appType = this.Context.RsspEP.ApplicatinType;
            var    ccFrame = new AleFrame(appType, seqNo, theConnection.IsNormal, ccData);

            // 发送。
            var bytes = ccFrame.GetBytes();

            theConnection.Send(bytes);

            LogUtility.Info(string.Format("{0}: Send CC frame via tcp connection(LEP = {1}, REP={2}).",
                                          this.Context.RsspEP.ID, theConnection.LocalEndPoint, theConnection.RemoteEndPoint));
        }