Как определить, что ресурс сокета завершил буферизацию? - PullRequest
0 голосов
/ 08 декабря 2011

Выполнение команды для ресурса сокета и получение выходных данных в PHP занимает приличное количество времени.

Я написал код для чтения буферизованной выходной строки после продолжительности ожидания 1 секунды, и она работает нормально.Если я не предоставляю задержку после fputs, я не получаю никакой строки.

Как определить это время?указание длительности удара и испытания может вызвать проблемы.Для безопасности я всегда ставлю время в секундах.

Какие параметры влияют на это время, есть ли у кого-нибудь статистические данные?

$socket = fsockopen($ip,3083);
$command = 'RTRV-NE-GEN:::123;';
fputs($socket,$command);
sleep(1);
$string = fread( $socket, 3000 );

1 Ответ

1 голос
/ 08 декабря 2011

Вам, вероятно, просто нужно сделать fflush($socket); после того, как вы выполните fputs(...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...