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); }
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]); }
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)); }