UDP problem sending byte768 bytes

"이희승 (Trustin Lee)" trustin at gmail.com
Fri Jun 26 22:03:35 EDT 2009


Thanks for the feed back.  It seems like your application is running in 
a controlled network.  Otherwise such a large UDP packet could be 
truncated or discarded.

Out of curiosity, do you use OIO UDP or NIO UDP?

Trustin

Neil Avery wrote:
> Oops - forgot to add my point - thats our particular use case - so 768
> is probably ok for most cases!
> Cheers.
>
> 2009/6/26 Neil Avery <neil at liquidlabs.co.uk <mailto:neil at liquidlabs.co.uk>>
>
>     We are using it (udp) to burst a search request to hundreds or
>     thousands of machines. Sending using TCP degrades as more machines
>     are added to the network - even when using our custom connection
>     pooling we still see degradation - using udp provides much better
>     performance (and we cannot use multicast). Our message size is a
>     maximum of 5K, - btw - we use netty tcp elsewhere when reliablity is
>     required.
>     Cheers Neil.
>
>     2009/6/26 "이희승 (Trustin Lee)" <trustin at gmail.com
>     <mailto:trustin at gmail.com>>
>
>         By the way, please let me know if you think the default (768) is
>         not sane and should be increased. I'm not really a UDP expert so
>         other people's suggestion is appreciated.
>
>         Thanks
>
>         이희승 (Trustin Lee) wrote:
>
>             Hi Neil,
>
>             It's because the default receiveBufferSizePredictor of
>             DatagramChannel
>             is FixedReceiveBufferSizePredictor(768). You can configure
>             the channel
>             to a FixedReceiveBufferSizePredictor with different payload
>             size. For
>             example:
>
>             DatagramChannel ch = ...;
>             ch.getConfig().setReceiveBufferSizePredictor(
>             new FixedReceiveBufferSizePredictor(1024));
>
>             or:
>
>             ConnectionlessBootstrap b = ...;
>             b.setOption("receiveBufferSizePredictor",
>             new FixedReceiveBufferSizePredictor(1024));
>
>             BTW, I wouldn't recommend to using
>             AdaptiveReceiveBufferSizePrediector
>             for datagrams.
>
>             HTH,
>             Trustin
>
>             On 2009-06-25 오전 4:49, neilson9 wrote:
>
>                 Hi,
>
>                 Im having a couple of problems sending UDP byte[]> 768K
>
>                 For example if Im passing 1024bytes the buffer.readIndex
>                 does not get
>                 updated. The sender only passes 768 bytes and if I
>                 manually set the
>                 readIndex to 768 it sends another 768 bytes on the
>                 second send. I would like
>                 to iterate of the byte[] and use the offsets to prevent
>                 copying data etc.
>
>                 Any help appreciated.
>                 Regards Neil.
>
>                 For example:
>                 byte[] payload = userdata....;
>
>                 channel = (DatagramChannel) b.bind(new
>                 InetSocketAddress(0));
>                 ChannelBuffer buffer = dynamicBuffer(bytes.length);
>                 buffer.writeBytes(bytes);
>                 LOGGER.info("Sending:" + bytes.length + " sent:" +
>                 buffer.readerIndex());
>                 ChannelFuture channelFuture = channel.write(buffer, new
>                 InetSocketAddress(uri.getHost(), port));
>                 // manually setting to see if it sends the remainder
>                 buffer.readerIndex(768);
>
>                 channelFuture = channel.write(buffer, new
>                 InetSocketAddress(uri.getHost(), port));
>                 LOGGER.info("Sending:" + buffer.readerIndex());
>
>
>
>
>
>             ------------------------------------------------------------------------
>
>             _______________________________________________
>             netty-users mailing list
>             netty-users at lists.jboss.org <mailto:netty-users at lists.jboss.org>
>             https://lists.jboss.org/mailman/listinfo/netty-users
>
>
>
>         --
>         Trustin Lee, http://gleamynode.net <http://gleamynode.net/>
>
>         _______________________________________________
>         netty-users mailing list
>         netty-users at lists.jboss.org <mailto:netty-users at lists.jboss.org>
>         https://lists.jboss.org/mailman/listinfo/netty-users
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> netty-users mailing list
> netty-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/netty-users


-- 
Trustin Lee, http://gleamynode.net




More information about the netty-users mailing list