you should in no way be sending it as 2 seperate packets (what if the first packet is lost, deleyed, etc).

what is in each update record?

the way i would do it is to create a structured packet (and send each record on its own, but anyway...).

the first 2 bytes would be the packet id. you read this from the buffer first so you can then decide what to do with it. now in this case the second 2 or 4 bytes would be the size of the array buffer. you can then check this number against the size of the packet indy received to see if it has been altered (dont want to read passed the end of the buffer) and read the number of bytes into your buffer.

then do whatever you want with it