public void Test1() { var data1 = new AleDisconnect(); data1.UserData = new byte[] { 100, 200 }; var bytes = data1.GetBytes(); var data2 = new AleDisconnect(); data2.ParseBytes(bytes, 0, bytes.Length - 1); Assert.AreEqual(AleFrameType.Disconnect, data2.FrameType); Assert.AreEqual(100, data2.UserData[0]); Assert.AreEqual(200, data2.UserData[1]); }
public virtual void Disconnect(byte[] diSaPDU) { var seqNo = (ushort)this.Context.SeqNoManager.GetAndUpdateSendSeq(); var appType = this.Context.RsspEP.ApplicatinType; var aleData = new AleDisconnect(diSaPDU); var dataFrame = new AleFrame(appType, seqNo, false, aleData); var bytes = dataFrame.GetBytes(); var tcpLinks = this.Context.Tunnels.ToList(); tcpLinks.ForEach(connection => { connection.Send(bytes); connection.Disconnect(); }); }