но обычно передают не отдельные значения, а какой-нибудь буфер, предварительно сформировав "сообщение". вызов send и recv довольно затратен, эффективнее собрать всё, что нужно отправить в один массив данных, а потом всё разом отправить.
например, отправка и приём текста (с длиной в начале):