Java在windows 7上未接收udp数据包

Java在windows 7上未接收udp数据包,java,udp,Java,Udp,我正在做一个读智能卡的系统。读卡器设备发送udp数据包。Wireshark可以看到数据包,但它说它们的帧检查顺序不正确。这是在Windows7上实现的,而在Debian上它可以完美地工作。我尝试为使用的特定端口向防火墙添加规则。。。甚至完全禁用了它。。。没有欢乐:/ 我编写了以下基本代码,用于验证数据包是否到达java应用程序: try { DatagramSocket s = new DatagramSocket(null); InetSocketAddress address

我正在做一个读智能卡的系统。读卡器设备发送udp数据包。Wireshark可以看到数据包,但它说它们的帧检查顺序不正确。这是在Windows7上实现的,而在Debian上它可以完美地工作。我尝试为使用的特定端口向防火墙添加规则。。。甚至完全禁用了它。。。没有欢乐:/

我编写了以下基本代码,用于验证数据包是否到达java应用程序:

try {
    DatagramSocket s = new DatagramSocket(null);
    InetSocketAddress address = new InetSocketAddress("192.168.1.100",8888);
    s.bind(address);
    byte buffer[] = new byte[1024];
    DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
    while(true)
    {
    System.out.println("Waiting...");
    s.receive(packet);
    System.out.println("Received!");
    }
    } catch (Exception e) {
    e.printStackTrace();
}

看来他们不是。。。有什么想法吗?

我想windows网络堆栈会过滤掉帧检查序列中断的数据包吗?代码乍一看很好。有没有禁用fcs的方法你试过用更小的缓冲区吗?建议可能会删除大于512字节的大小(例如当MTU小于IP数据包时),请立即尝试。。。没用,我要倒下了!在我的nic上禁用udp校验和卸载,并完全禁用防火墙(以前已经尝试过防火墙部分),现在它可以工作了。。。显然,我必须添加某种规则。。。我已经允许使用端口,但缺少一些内容