Notes on Transmission Speed (November 5, 2003) There are limits to how fast the server can respond to incoming messages. The server is written in Java (1.4.2). The main speed issue is the time it takes to parse incoming messages. For messages that are coming from a Max Patch (via Norm Jaffe's TCP Client object) the server can parse about 30 messages a second. ASCII messages should be able to run at a higher rate (because the parsing is much easier). This speed (30 messages a second from Max) will have to be split amongst the number of people who want to send data using the Max TCP Client. If there are 100 sensors on the system then 1 message every 3 seconds would be the maximum input rate from Max. It would make sense for everyone to limit themselves to a maximum of 1 message every 5 seconds, or a burst of messages every 15 to 20 seconds. In general, I only send messages when the data is changing. For example, if you have a temperature sensor, you only need to send the data when the temperature changes (i.e. goes from 90 to 91 degrees). We have one device (for diana burgoyne) that scans an array of 32 photo-sensors and then outputs any changes. We slow this down by having it scan every 2 or 3 seconds. The server tries to tell you if you are sending too much data into it. It will respond with an error message that asks you to slow down. This message looks like this: scRAMbled ERROR slow_down If you are using the Max TCP Client, the server expects to receive one complete Max Message at a time. It will discard any additional messages. If you want to send several pieces of data at once, then send them as a list. For example: [send temperature 90] [send pressure 20] will likely loose the pressure value. [send temperature 90 pressure 20] will read both values (and in the same time it would take to read a single value)