Sagewire Logo

Good UDP Networking Library

3 Message(s) by 2 Author(s) originally posted in java software tools


From: Azazel Date:   Thursday, August 16, 2007
Hi,

can anyone point me to a good, well-performing high-level-abstraction
UDP networking library for JAVA?
I have read through many posts and tutorials about NIO, but this isn't
what I'm looking for. Using NIO'd still require a significant
investment in time and effort from my side while I'm looking for a
nicely pluggable component.

I'm thinking about something that encapsulates the low-level stuff
(actually opening UDP sockets, encoding data etc.) and provides me
with functionality akin to TCP , only over UDP. Ideally, I'd be able to
specify via a strategy pattern or something how 'reliable' the
connection is.

The library should work asynchronously (at least to its outside
interface) and either call observers or fill/read queues. Ideally, it
should be thread-safe in those data-structures exposed to the outside,
using intelligent sync mechanisms (ie, not critical sections for
everything). So, eg, if there was an in/out-queue interface, the
concurrency issues with reading/writing to those queues should be
implemented with something like a read-write-lock.

The library must perform equally or nearly equally well on both
Windows (XP and Vista) and OSX. I mention this as the library might
wrap platform-dependent C/C++ code .

I'm interested in both OS and commercial libraries. Actually, unless
the OS library is mature and has a sizable community, I'd probably
prefer a commerical license with support.

Do any of you guys have good pointers for me? I have been googling, but
without much success.

Many thanks in advance,
AzazelDev


From: Roedy Green Date:   Thursday, August 16, 2007
On Thu, 16 Aug 2007 07:47:35 -0700, Azazel <AzazelDev@xxxxxxxxxxx>
wrote in message, quoted or indirectly quoted someone who said :

I'm thinking about something that encapsulates the low-level stuff
(actually opening UDP sockets, encoding data etc.) and provides me
with functionality akin to TCP, only over UDP. I



If you want the functionality of TCP/IP, why not use TCP/IP? UDP is
for when it as OK to lose messages, when you DO not have ongoing stream
state.

UDP itself is pretty simple. See my code for getting system time via
UDP in http://mindprod.com/products1.html#SETCLOCK.
--
Roedy Green Canadian Mind Products
The JAVA Glossary
http://mindprod.com


From: Azazel Date:   Friday, August 17, 2007
On 17 Aug., 03:41, Roedy Green <see_webs...@xxxxxxxxxxx>
wrote in message:
On Thu, 16 Aug 2007 07:47:35 -0700, Azazel <Azazel...@xxxxxxxxxxx>
wrote in message, quoted or indirectly quoted someone who said :
>I'm thinking about something that encapsulates the low-level stuff
>(actually opening UDP sockets, encoding data etc.) and provides me
>with functionality akin to TCP, only over UDP. I
If you want the functionality of TCP/IP, why not use TCP/IP? UDP is
for when it as OK to lose messages, when you DO not have ongoing stream
state.



Actually, in the application I'm looking to shop this library for, we
will use TCP *and* UDP. For example, for login we'll use TCP. There
are many messages where we do not mind whether packets arrive in order,
though. Also, it doesn't make sense for all messages to worry about
lost packets and do stuff like resending. In other words, we need fine-
grained control about which messages need which level of guarantees.
As we are going to generate a lot of traffic anyway, the difference in
header size between TCP and UDP is a significant cost factor.

Cheers,
AzazelDev

UDP itself is pretty simple. See my code for getting system time via
UDP inhttp://mindprod.com/products1.html#SETCLOCK.
--
Roedy Green Canadian Mind Products


> The JAVA Glossaryhttp://mindprod.com



Next Message: Eclipse colour schemes


Blogs related to Good UDP Networking Library

PORT NUMBERS (포트 넘버)
opennl 1258/tcp Open Network Library opennl 1258/udp Open Network Library opennl-voice 1259/tcp Open Network Library Voice opennl-voice 1259/udp Open Network Library Voice # Phil Frisbie ibm-ssd 1260/tcp ibm-ssd ...

[fm-news] Newsletter for Thursday, August 02nd 2007
About: CrissCross is a small cross-platform C++ library for console and file I/O, fast data structures, CPU identification (CPUID), and sockets (TCP and UDP). The main goal is to provide the ability to write a program ...

[fm-news] Newsletter for Wednesday, August 01st 2007
About: EZMorph is simple Java library for transforming an Object to another Object. It supports transformations for primitives, Objects, and multidimensional arrays, compatibility with JDK 1.3.1, and small memory footprint (~76K). ...

Assignment released
Programming Specifications: Write a (Java or C++) UDP program that allows users to send “email” messages in a computer network securely. Although it is not a real email server, it simulates the process of a secure email service. ...

COMPUTER SECURITY TOOLBOX
This simple utility reads and writes data across TCP or UDP network connections. It is designed to be a reliable back-end tool that can be used directly or easily driven by other programs and scripts. At the same time, ...

Computer Tips and Tricks:
That means you need to repeat every step, adding both TCP and UDP ports for each number from 6881 ~ 6889. When your done, you should have 16 services added in there.It is best to name them something like Torrent1_tcp, Torrent1_udp, ...


Programming | Sports | Autos

copyright 2006
Valid XHTML 1.0 Transitional