Yes.
OK. Is it OK to send zero sized UDP packet according to UDP spec and Win32 documentation?
SY, Alexey
On 2/19/07, Alexey Petrenko <[EMAIL PROTECTED]> wrote: > > I did not quite understand. > Does your test fail on RI on Win? > > SY, Alexey > > 2007/2/19, Mikhail Markov <[EMAIL PROTECTED]>: > > Hi! > > > > I found a difference between sending datagram packets with zero length > on > > Windows and Linux: > > The test below passes both on RI and Harmony on Linux, but fails on my > > WinXP: > > RI: Exception in thread "main" java.net.SocketException: The message is > > larger than the maximum supported by the underlying transport: Datagram > send > > failed > > at java.net.PlainDatagramSocketImpl.send(Native Method) > > at java.net.DatagramSocket.send(DatagramSocket.java:612) > > at Test.main(Test.java:9) > > > > Harmony: Exception in thread "main" java.net.SocketException: (10040) A > > message sent on a datagram socket was larger than the internal message > > buffer or some other network limit, or the buffer used to receive a > datagram > > into was smaller than the datagram itself. > > at > org.apache.harmony.luni.platform.OSNetworkSystem.sendDatagramImpl(Native > > Method) > > at org.apache.harmony.luni.platform.OSNetworkSystem.sendDatagram( > > OSNetworkSystem.java:155) > > at org.apache.harmony.luni.net.PlainDatagramSocketImpl.send( > > PlainDatagramSocketImpl.java:275) > > at java.net.DatagramSocket.send(DatagramSocket.java:450) > > at Test.main(Test.java:9) > > > > Due to this I have 9 constantly failed testcases from > DatagramChannelTest > > (nio module): > > testSend_NoServerTwice(), > > testSend_NoServerNonBlockingTwice(), > > testReceiveSend_Block_Empty(), > > testReceiveSend_NonBlock_Empty(), > > testReceiveSend_Block_Empty_S2C(), > > testReceiveSend_NonBlock_Empty_S2C(), > > testReceiveSend_Block_Empty_C2S(), > > testReceiveSend_NonBlock_Empty_C2S(), > > testReceiveSend_Empty_S2S() > > trying to send empty datagrams. > > > > I've filed the appropriate JIRA > > https://issues.apache.org/jira/browse/HARMONY-3185, and even provided > the > > patch (which seems not correct :-). > > > > What should we do with these tests? Perhaps it makes sense to rework > them to > > avoid sending empty datagrams? > > > > Regards, > > Mikhail > > > > Here is the test: > > import java.net.DatagramSocket; > > import java.net.DatagramPacket; > > import java.net.InetAddress; > > > > public class Test { > > public static void main(String[] args) throws Exception { > > DatagramSocket ds = new DatagramSocket(); > > DatagramPacket dp = new DatagramPacket(new byte[0], 0, > > InetAddress.getLocalHost(), 5555); > > ds.send(dp); > > } > > } > > >
