Reliable UDP

ruzarkruzark Member ruzark ruzarkOrganization: ruzarkProject: ruzark
Last time I looked reliable UDP support in ICE wasn't a feature. I wonder if it is by now.

I think it would be a great feature to add to ICE (if it isn't in yet).

Thank you.

Comments

  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    You mean reliable UDP multicast? Because reliable UDP unicast already exists, it's called TCP :)

    In any case, as with all such features, we don't add this just for fun (even though it would be a cool project), but only if there are commercial customers who need such a feature. However, since Ice supports protocol plug-ins, you could write your own.
  • ruzarkruzark Member ruzark ruzarkOrganization: ruzarkProject: ruzark
    When you select your protocol (transport I think) you can choose from TCP, UDP or SSL. In the documentation (I think I read it there) you said that packets in UDP weren't guaranteed to arrive in order nor to arrive at all (because that's how UDP works). Then I thought it would be cool that ICE supported RELIABLE and ORDERED UDP streams :) just for fun! (and for game projects also) :P

    Thx!
  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    Well, as I said, reliable and ordered UDP would in essence be TCP. There is no point in reinventing TCP...
  • ruzarkruzark Member ruzark ruzarkOrganization: ruzarkProject: ruzark
    Yeah 1 is data oriented the other is connection oriented, but ok :)
  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    Depending on what your definition of connection oriented is, if you make UDP ordered, it becomes connection oriented, too.
  • ruzarkruzark Member ruzark ruzarkOrganization: ruzarkProject: ruzark
    But it would be cool if you could activate those features to your will (the reliable and ordering ones), just like in raknet.
  • ruzarkruzark Member ruzark ruzarkOrganization: ruzarkProject: ruzark
    I thought UDP was more suited for games because of performance, but from what you say is it the same to do it with TCP or UDP? (sorry, I'm new to this, network programming stuff).
  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    It's impossible to give a general answer to this. It all depends on your application. Sometimes UDP has advantages over TCP, but for most applications TCP is the better choice. However, if you use UDP, then you must live with unordered and unreliable data transfer. If you make it ordered and reliable, then you basically reinvent TCP.

    In any case, if you would like us to provide consulting service for your game project, please contact us at [email protected]. We would be happy to discuss the different design trade-offs for your project, but this is something that is out of the scope of the free help we can offer here on this message board.
  • ruzarkruzark Member ruzark ruzarkOrganization: ruzarkProject: ruzark
    Ok, I'm going to email you. Thank you.
Sign In or Register to comment.