我有以下代码将数据包发送出去...
sendSocket = new DatagramSocket(new InetSocketAddress (InetAddress.getByName (prefs.get ("interfaceIP", Defaults.defaultInterfaceIP)), 0));
log.debug ("length = " + responsePacket.getLength ());
sendPacket = new DatagramPacket (responsePacket.getData (), responsePacket.getLength (), this.deviceHostAddress, prefs.getInt ("port", Defaults.defaultPort));
sendSocket.send (sendPacket);
我要发送的数据长3,527字节(来自log.debug行),由于某种原因,当我在Wireshark上观看数据包时,我看到该数据包“碎片化”,只有1480字节已被已发送。对我来说,这是正常的,因为数据包需要适合MTU。但是,我看不到其余数据在后续数据包中通过(因此将根据数据包ID合并在一起)。
有什么想法为什么DatagramSocket.send仅发送第一个片段而不发送其余片段?