PHP socket_write () отправляет только часть данных

Мне нужно отправить большой объем данных одним выстрелом. Но socket_write отправляет только часть его. Функция и переменная $ buffer правильны:

socket_write($socket, $buffer, strlen($buffer)); 

Может быть, можно настроить лимит буфера или что-то еще?

В этой проблеме есть много решений по адресу http://php.net/manual/en/function.socket-write.php, но все они разделяют буфер, чтобы отправить его по частям.