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 为什么?请帮忙解决。谢谢
最佳答案
你的代码没有任何意义。您不可能知道接下来收到的两个数据包将是一个 TCP 数据包,后面跟着一个 UDP 数据包。显然,您收到的数据包不是 TCP 数据包,您只是基于希望而非经验将其转换为 TCPPacket。在开始对其进行类型转换之前,您必须先查看数据包以了解内容。
关于java - jpcap.packet.Packet 无法转换为 jpcap.packet.TCPPacket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11666634/