Montando mensagens para socket

estou precisando montar mensagens a serem enviadas via TCP e UDP para um programa servidor simples. Tipo os exemplos TCPClient, TCPServer do livro de redes de computadores de Kurose e Ross…

como eu poderia montar essas mensagens com tamanhos especificos? tipo, 100, 200, 1000, 10000 bytes?
se eu fizer:
byte[] sendData = new byte[1000]; e manda-lo via UDP para o programa servidor, ele vai ser considerado como uma mensagem de de 1000bytes?
como eu poderia fazer o mesmo via TCP?