Этот метод записывает самое большее количество байтов, которое является вашим размером данных. Но на самом деле может писать меньше. Фактически возвращает количество отправленных байтов. Поэтому вы должны сделать цикл отправки остальных данных, пока все не будет отправлено. Вот так.
qint64 dataSent = 0;
while(dataSent < sizeof(bytesToSend))
{
qint64 sentNow = socket->write(bytesToSend+dataSent);
if(sentNow >= 0)
dataSent += sentNow;
else
throw new Exception();
}
Это собственное поведение сокета.