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
