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; }
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); }
public override void Write(byte[] buffer, int offset, int payloadLength, ILayer previousLayer, ILayer nextLayer) { UdpDatagram.WriteHeader(buffer, offset, this.SourcePort, this.DestinationPort, payloadLength); }