If you want to send non-string data, you should use the write function. This version of write is not documented in the reference, but is available in the library.
virtual size_t write(const uint8_t *buffer, size_t size);
This function will send zeros also. You will probably need to split integers into two bytes and reassemble them on the other end.
edit: I submitted a change a while back to get the write function better documented for the client and server code, and have added the udp write to that request this morning.
http://code.google.com/p/arduino/issues/detail?id=1034