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 Glossary
http://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, ...