public static TreeViewItem UDPTreeViewItem(UdpDatagram udpDatagram)
 {
     var item = new TreeViewItem
     {
         DataContext = udpDatagram,
         HeaderTemplate = (Helpers.GetResourceItem()["UDPItem"] as DataTemplate)
     };
     item.Items.Add(new TreeViewItem { Header = string.Format("Length : {0} byte(s)", udpDatagram.Length) });
     item.Items.Add(new TreeViewItem { Header = string.Format("Total Length : {0} byte(s)", udpDatagram.TotalLength) });
     return item;
 }
Пример #2
0
		private static void ParseUdpPacket(UdpDatagram udp, object ctrl)
		{
			if (udp == null || ctrl == null) return;
			ListView f_details = (ListView)ctrl;

			List<ListViewItem> items = new List<ListViewItem>();

			ListViewItem item = new ListViewItem("Packet Type");
			item.SubItems.Add("UDP");
			items.Add(item);

			item = new ListViewItem("SrcPort");
			item.SubItems.Add(udp.SourcePort.ToString());
			items.Add(item);

			item = new ListViewItem("DstPort");
			item.SubItems.Add(udp.DestinationPort.ToString());
			items.Add(item);

			item = new ListViewItem("Checksum");
			string checksum = string.Format("0x{0:X}", udp.Checksum);
			item.SubItems.Add(checksum);
			items.Add(item);

			item = new ListViewItem("Payload Length");
			item.SubItems.Add(string.Format("{0} ({1:x})", udp.Payload.Length, udp.Payload.Length));
			items.Add(item);

			item = new ListViewItem("TotalLength");
			ushort len = udp.TotalLength;
			string len_str = string.Format("{0} (0x{1:X})", len, len);
			item.SubItems.Add(len_str);
			items.Add(item);

			object[] param = new object[2];
			param[0] = f_details;
			param[1] = items;
			f_details.BeginInvoke(new ParserHelper.UIHandler(ParserHelper.UpdateDetailsUI), param);
		}
Пример #3
0
 public override void Write(byte[] buffer, int offset, int payloadLength, ILayer previousLayer, ILayer nextLayer)
 {
     UdpDatagram.WriteHeader(buffer, offset, this.SourcePort, this.DestinationPort, payloadLength);
 }