2012-07-26 150 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。在開始對它進行類型化之前,您必須查看包才能看到什麼。

相關問題