Hi,
(this is not directly related to another recent thread I started though it may seem so)
Does the OSC standard (or to be more precise, the standard for OSC over UDP) allow to pack multiple OSC messages into a single UDP packet?
If so, is there any chance that [packosc] and/or [udpsend] do so "behind the scene" (i.e. without explicitly asking them to do so) when you send them many messages in 0 or little logical time?
(And if ,in turn, so, is there a way to avoid it?)
I ask this because I am sending OSC messages from Pd to TouchOSC (on an iPad) and when I send it multiple messages in 0 logical time (even just 3 or 4 messages at a time, not dozens), TouchOSC almost systematically loses many of them. This is definitely not the network losing udp packets (or it would be a very unlikely coincidence) since this is happening _only_ with the osc messages i send to the iPad, and though I suspect it is a bug in the TouchOSC software, I was wondering if this may be because of (unwantedly) bundling multiple osc messages per udp packet (and touchOSC not supporting it).......
Thanks in advance m.
On 10/05/11 10:38, matteo sisti sette wrote:
Does the OSC standard (or to be more precise, the standard for OSC over UDP) allow to pack multiple OSC messages into a single UDP packet?
No time to read it all myself, but: http://opensoundcontrol.org/spec-1_0
I ask this because I am sending OSC messages from Pd to TouchOSC (on an iPad) and when I send it multiple messages in 0 logical time (even just 3 or 4 messages at a time, not dozens),
Have you tried explicitly packing them into OSC bundles? This should make them really occur at the same time, rather than as soon as received. And it might fix the issue as a side effect.
TouchOSC
It seems some recent versions are buggy, don't know if it supports OSC bundles... http://hexler.net/forum/viewthread/31/
almost systematically loses many of them.
2011/5/10 matteo sisti sette matteosistisette@gmail.com:
Hi,
Does the OSC standard (or to be more precise, the standard for OSC over UDP) allow to pack multiple OSC messages into a single UDP packet?
If so, is there any chance that [packosc] and/or [udpsend] do so "behind the scene" (i.e. without explicitly asking them to do so) when you send them many messages in 0 or little logical time?
Ok that is definitely _not_ happening (whether it is possible or not). Nor is packOSC unexpectedly bundling messages into bundles: it only does it if you explicitely ask it, as expected.
I ask this because I am sending OSC messages from Pd to TouchOSC (on an iPad) and when I send it multiple messages in 0 logical time (even just 3 or 4 messages at a time, not dozens), TouchOSC almost systematically loses many of them.
That's simply and plainly what is happening: either TouchOSC or the iPad itself are dropping UDP packets if they are received too close to one another.
On 10/05/11 10:38, matteo sisti sette wrote:
Have you tried explicitly packing them into OSC bundles? it might fix the issue as a side effect.
Thanks a lot for the suggestion. It does fix the issue!!!!! :):):)
I hadn't tried at first because I thought that even if it worked it was not an option, as I cannot know in advance how many messages are to be sent. But then I realised I could buffer the messages and send a bundle every XX milliseconds.
With this trick I have drastically reduced (almost eliminated) the occurrence of packet losses. To remove the issue completely I have created a memory of all the target osc addresses and I periodically re-send (always in big bundles) the last values that have been sent - which is feasible in my case because the messages I'm sending out represent states and not events.
Does anybody of you perhaps know a (free) generic UDP monitoring application for the iPad, so that I could figure out whether the packets are being dropped by TouchOSC or by the iPad?
Thanks m.
On Thu, May 12, 2011 at 16:33, matteo sisti sette < matteosistisette@gmail.com> wrote:
[...]
Does anybody of you perhaps know a (free) generic UDP monitoring application for the iPad, so that I could figure out whether the packets are being dropped by TouchOSC or by the iPad?
I guess you need a packet sniffing app if you want to see the contents not just the volume of traffic: http://www.wireshark.org/ http://sourceforge.net/projects/packetpeeper/
Andras
On 05/12/2011 04:47 PM, András Murányi wrote:
http://www.wireshark.org/ http://sourceforge.net/projects/packetpeeper/
I meant something that I can run on the iPad; I have already sniffed the network from my Pc and I see all the packets; I need to sniff it (or just receive the udp packets and monitor them) right from the iPad, as it is the only way to know if the iPad is receiving them.
Or do you mean that I can install any of the above on an iPad??
2011/5/12 Matteo Sisti Sette matteosistisette@gmail.com
On 05/12/2011 04:47 PM, András Murányi wrote:
I meant something that I can run on the iPad; I have already sniffed the network from my Pc and I see all the packets; I need to sniff it (or just receive the udp packets and monitor them) right from the iPad, as it is the only way to know if the iPad is receiving them.
Or do you mean that I can install any of the above on an iPad??
They run on the Mac, however I have no clue if they do on the iPad. Actually, I'd be interested to learn about the differences between a Mac and the iPad... it's a whole new issue for me. Also, is it possible to (re)compile them on the iPad?
Andras
On Thu, 12 May 2011, András Murányi wrote:
They run on the Mac, however I have no clue if they do on the iPad. Actually, I'd be interested to learn about the differences between a Mac and the iPad... it's a whole new issue for me. Also, is it possible to (re)compile them on the iPad?
iPad is a lot more like iPhone in that it runs iOS. But then, many things that work on OSX also work on iOS. For example, I tried porting to iOS some OSX code that uses kernel headers such as <mach/whatever.h>. It mostly worked.
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC