views:

37

answers:

1

I'm trying to find a version of UDP which just alleviates the restriction of a maximum size of the message sent. I don't care about reliability or partial retransmission, if all chunks arrive I want the message to be assembled from the chunks in sending order and delivered to the listening app. If one or more chunks are missing I would just like to discard the message.

The goal is to have a low-latency notification mechanism about real time data, but with the added support for bigger messages than what would fit in an IP datagram. I would like the protocol to be one way only, and not have long connection setup times.

An optional feature to be able to respond to a received message wouldn't hurt (a concept of an unreliable connection), but is not necessary.

A: 

Check out Photon (http://exitgames.com/Photon). It uses eNet as a base protocol (http://enet.bespin.org/).

It supports Fragmentation and Reassembly:

ENet will send and deliver packets regardless of size. Large packets are fragmented into many smaller packets of suitable size, and reassembled on the foreign host to recover the original packet for delivery. The process is entirely transparent to the developer.

It does not meet all your requirements

  • The protocol is two way (but you mentioned the optional feature to respond)
  • Fragmented messages (> MTU) are always reliable

BUT

  • It is designed for high performance and to be lean
  • There is a free license for 50 CCUs - and so easy to benchmark
bertelmonster2k
Thank you for a good suggestion. Unfortunately this is not really what I was looking for, enet is (as far as I can tell) connection oriented, which is what I was trying to avoid.
disown