2012-07-26 174 views
0
 Packet packet = new Packet(); 

     while(packet != null) 
     { 

      packet = jpcap.getPacket(); 

      TCPPacket tcp = (TCPPacket)jpcap.getPacket(); 
      IPPacket ipp = (IPPacket)packet; 
      UDPPacket udp = (UDPPacket)jpcap.getPacket(); 
      ipp = (IPPacket)tcp; 
     } 

TCPPacket tcp =(TCPPacket)jpcap.getPacket(); 此行得到了错误jpcap.packet.Packet不能转换到jpcap.packet.TCPPacket 为什么?请帮忙解决这个问题.thanksjpcap.packet.Packet无法转换为jpcap.packet.TCPPacket

回答

1

您的代码不作任何意义。您不可能知道接收到的下两个数据包将是一个TCP数据包,后跟一个UDP数据包。显然你收到了一个不是TCP数据包的数据包,你只是基于希望而不是经验将它转换为TCPPacket。在开始对它进行类型化之前,您必须查看包才能看到什么。

相关问题