Не знаю, много от чего может зависеть. У меня, например, таких проблем никогда не возникало.
Ну Debian, TCP, неблокирующие сокеты.
Более подробно привести зачем?
Если хотите получить какой-то осмысленный ответ. Раньше даже бытовал такой ответ: "извините, все телепаты в отпуске, что у Вас там стряслось - не знаем".
Отсылается с помощью
sendto(sd, msg->message, msg->msgSize,
0, (struct sockaddr*)&addr, sizeof(addr));
массив байт
получается с помощью recv
для проверки работоспособности отправляю сам себе массив {1,2,3} или 1,2,3,4 и т.д.
получаю из recv 3,0,0,1,2,3 или 3,0,0,1,2,3,4 и и т.д.
Что такое msg->message?
Ещё раз - попробуйте посмотреть что реально идёт по линии связи при помощи tcpdump/wireshark. Конечно есть вероятность и в ошибках ядра/неисправности оборудования, но более вероятна, имхо, ошибка в программе автора, если не на принимающей, так на выдающей стороне.