java - jpcap.packet.Packet 无法转换为 jpcap.packet.TCPPacket

标签 java networking jpcap

        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/

相关文章:

c - 分布式网络多客户端

android - 使用 chrome 开发工具为 Android 应用程序测试网络节流不起作用

java - 我的多线程代码运行速度并不快

java - 如何用Scanner逐行读取用户输入(包括空格)?

java - Log4J2 - 如何设置对我的新记录器的引用

c# - 解析IP失败

java - 如何在java中使用jpcap识别接收到的数据包是使用TCP还是UDP?

java - 使用 jPcap 在 Java 中重建实时 TCP session

java - JpcapWriter 导致应用程序崩溃

java - 将 JVM 嵌入到 C++ 应用程序中 : How to link it properly?