Announcement

Collapse
No announcement yet.

Using TCP instead of UCP?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Using TCP instead of UCP?

    Hi,
    what do I have to do to utilize TCP? Besides of course setting my target To osc.tcp:192......

    When I do that, nothing works, at least to Lemur. Haven't tried anything else yet. Is it possible Lemur may only accept udp?

    Im trying to get transmission reliability up as much as possible. I'm noticing that switch messages can sometimes be lost even undere the most robust wifi scenariios.

    Ps, does anyone else have a problem when typing new posts to this forum using an iPad? The text editor makes the cursor invisible, which makes fixing typos pretty rough!

  • #2
    Hi Fader8,

    This is a good question!

    A brief overview of TCP first for users that don't know what it means:

    OSC messages can be carried over two different protocols UDP and TCP on a network link (WiFi or Ethernet).

    OSC is most commonly used in conjunction with UDP because it is simple for the developer to implement and usually provides low latency. On the other hand UDP does not guarantee the network packets will be actually delivered to their destination, neither that they will arrive in the correct order (which is unlikely to happen in a local network or LAN). For example UDP is used as a transport protocol for video streaming.

    TCP is the most commonly used transport protocol on the Internet. For example, the protocol that is used to display web pages — HTTP — is transported over TCP. At the expense of a slight loss in latency, TCP guarantees that packets are delivered to their destination and that they are delivered in the right order.

    OSCulator OSC over TCP since version 2.12, but there are only very few applications that also support OSC over TCP.
    I believe that any serious [wireless] controller should use TCP by default, this is why OSCulator offers this new feature with the hope that future developers will confidently implement TCP in their own applications.

    So, you have now the possibility of using OSC with TCP. As an application of this, OSCulator can be used on two computers to safely transmit OSC messages between them. Or developers can use OSCulator as a tool to test their TCP implementation. There are many uses for this, and I hope there will be more OSC over TCP enabled applications.

    In the case of the Lemur on iOS, TCP is not implemented, nor Bonjour the automatic service discovery protocol. In my opinion, this is disappointing because implementing Bonjour is not such a big job... TCP isn't that complicated, it only requires a good foundation, finally the OSC working group (those who write the specification) has recently settled on a convention (a confusion in the specs that prevented developers from choosing a way to implement things versus another, thus delaying OSC over TCP adoption).

    Ps, does anyone else have a problem when typing new posts to this forum using an iPad? The text editor makes the cursor invisible, which makes fixing typos pretty rough!
    I have to admit this web editor is not best on an iPad, but I don't have this disappearing cursor problem (running iOS 5.1.1 and use Safari).


    Cam

    Comment


    • #3
      Hi Camille,
      Thanks for the truly informative answer! I'm now armed with enough information to be dangerous to all my favorite IOS OSC app devs, LOL!

      I'm thinking about running my more critical control messages with hard wired devices. I can't have a switch not work. WIFI is more than adequate for faders, though. You're pumping enough messages through the pipe when you move it that you don't care too much if a few packets are lost. But for a switch you're just sending a single message and hoping it arrives. There are some things that I need to have work, absolutely and without question, every time. Thanks again for the education!

      Comment

      Working...
      X