One good reason to use UDP is doing hole punching through firewall.
It enables two peers that are both behind firewall to be reachable and
communicate with each other without the hassle of using a third party to
initiate the communication. 
 
One way of implementing a way to send large message over datagram protocol
is to implement the sliding window algorithm ( used in tcp) . Yes its almost
like having tcp and as Mike Grundvig said: if you don't need special feature
like hole punching just forget about datagram and go for connection oriented
protocol like tcp.
 
 
Benoit Hudzia
Parallel Computing Research Group
School of Computer Science & Informatics
University College Dublin
Ireland
 
Tel: +353 1 716 2403
Fax: +353 1 269 7262
E-mail: benoit [dot] hudzia [at] ucd [dot] ie
Web: <http://benoit.hudzia.googlepages.com/>  Personnal Web Page,
<http://voidreflections.blogspot.com> Blog
 
-----Original Message-----
From: Mike Grundvig [mailto:[EMAIL PROTECTED] 
Sent: 01 September 2006 15:28
To: [email protected]
Subject: Re: large messages over datagram socket
 
As soon as you start implementing guaranteed delivery and packet spanning 
with UDP, you might want to take a serious look at TCP again. It's a great 
deal of work to implement and if a re-delivery is required, it will often be

slower then TCP. Basically, the advantages of UDP are lost quickly once the 
packets get loaded down with extras needed for custom protocols. This is why

most UDP systems are based on a fire-and-forget mentality (like video 
streaming or FPS games).
 
If you have to use UDP for some other reason, completely ignore me :). 
Sadly, I'm still getting my head around MINA and so I don't have any 
specific implementation advice. Good luck!
 
Michael Grundvig
Electrotank, Inc
http://www.electrotank.com
 
 
----- Original Message ----- 
From: "Newcomb, Michael-P57487" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, September 01, 2006 9:15 AM
Subject: large messages over datagram socket
 
 
Can you give me some clues as to how to implement this? I realize that
portions of messages could get lost, so, how would you recommend
implementing a 'best effort' type of service where large messages are
split and sent, then reassembled if all of them make it, and dropped
after some time if all of them don't...
 
Would this be a candidate for an IoFilter?
 
Also, Niklas mentioned MINA 0.9, is that a release somewhere or is that
what is in HEAD?
 
Thanks,
Michael
 

Reply via email to