问候,
我有一种捕获数据包的方法.捕获后我想实时添加每个数据包作为listview中的一行,所以一旦我捕获数据包,我想将它添加到列表视图中.
我使用items.Add()的问题我将得到重载参数错误.请指教!!
这是我的代码:
private void packetCapturingThreadMethod(){
Packet packet = null; int countOfPacketCaptures = 0; while ((packet = device.GetNextPacket()) != null) { packet = device.GetNextPacket(); if (packet is TCPPacket) { TCPPacket tcp = (TCPPacket)packet; myPacket tempPacket = new myPacket(); tempPacket.packetType = "TCP"; tempPacket.sourceAddress = Convert.ToString(tcp.SourceAddress); tempPacket.destinationAddress = Convert.ToString(tcp.DestinationAddress); tempPacket.sourcePort = Convert.ToString(tcp.SourcePort); tempPacket.destinationPort = Convert.ToString(tcp.DestinationPort); tempPacket.packetMessage = Convert.ToString(tcp.Data); packetsList.Add(tempPacket); string[] row = { packetsList[countOfPacketCaptures].packetType, packetsList[countOfPacketCaptures].sourceAddress, packetsList[countOfPacketCaptures].destinationAddress, packetsList[countOfPacketCaptures].sourcePort, packetsList[countOfPacketCaptures].destinationPort, packetsList[countOfPacketCaptures].packetMessage }; try { listView1.Items.Add(packetsList[countOfPacketCaptures].packetType, packetsList[countOfPacketCaptures].sourceAddress, packetsList[countOfPacketCaptures].destinationAddress, packetsList[countOfPacketCaptures].sourcePort, packetsList[countOfPacketCaptures].destinationPort, packetsList[countOfPacketCaptures].packetMessage) ; countOfPacketCaptures++; lblCapturesLabels.Text = Convert.ToString(countOfPacketCaptures);} catch (Exception e) { } } else if (packet is UDPPacket) { UDPPacket udp = (UDPPacket)packet; myPacket tempPacket = new myPacket(); tempPacket.packetType = "UDP"; tempPacket.sourceAddress = Convert.ToString(udp.SourceAddress); tempPacket.destinationAddress = Convert.ToString(udp.DestinationAddress); tempPacket.sourcePort = Convert.ToString(udp.SourcePort); tempPacket.destinationPort = Convert.ToString(udp.DestinationPort); tempPacket.packetMessage = Convert.ToString(udp.Data); packetsList.Add(tempPacket); string[] row = { packetsList[countOfPacketCaptures].packetType, packetsList[countOfPacketCaptures].sourceAddress, packetsList[countOfPacketCaptures].destinationAddress, packetsList[countOfPacketCaptures].sourcePort, packetsList[countOfPacketCaptures].destinationPort, packetsList[countOfPacketCaptures].packetMessage }; try { dgwPacketInfo.Rows.Add(row); countOfPacketCaptures++; lblCapturesLabels.Text = Convert.ToString(countOfPacketCaptures); } catch (Exception e) { } } } }
logicnp.. 5
那是因为Add方法不接受随机的参数序列.它只接受这里提到的类型的参数:
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.listviewitemcollection.add.aspx
那是因为Add方法不接受随机的参数序列.它只接受这里提到的类型的参数:
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.listviewitemcollection.add.aspx