Форумы портала PHP.SU » » Работа с сетью » socket_recv не полный ответ

Страниц (1): [1]
 

1. 20167 - 01 Марта, 2017 - 12:44:31 - перейти к сообщению
Здравствуйте, возникла проблема, есть сервер на node js который отправляет файл.
Пробовал через telnet и через клиент на nodejs файл приходит полностью, но при попытке получить файл через php socket приходит часть текста все время разной длинны.
Можете подсказать, как получить файл целиком?

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $port = 8888;
  5. $host = "*.*.*.*";
  6.  
  7. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  8. @socket_connect($socket, $host, $port);
  9. socket_write($socket, "read_console");
  10. $buf = "";
  11. $input = socket_recv($socket,$buf,1024*1024, 0);
  12. echo "<textarea style='width:100%; height:100%;'>".trim($buf)."</textarea>";
  13. socket_close($socket);
  14.  
2. Sail - 01 Марта, 2017 - 12:51:45 - перейти к сообщению
20167, гляньте описание и пример использования функции socket_recv()
Обратите внимание на флаги...
(Добавление)
И на возможность получения кода и описания ошибки...
3. 20167 - 01 Марта, 2017 - 13:05:58 - перейти к сообщению
Sail пишет:
20167, гляньте описание и пример использования функции socket_recv()
Обратите внимание на флаги...
(Добавление)
И на возможность получения кода и описания ошибки...


Спасибо за то, что еще раз отправили на доки, попробовав еще раз флаг MSG_WAITALL я понял, что сервер должен завершить соединение, что бы данные загрузились)

 

Powered by ExBB FM 1.0 RC1