roundrobbin
Новичок
Здравствуйте!
столкнулся со следующей проблемой:
если из открытого дескриптора ресурса сокета прочесть результат ответа сервера, то последующие попытки использования этого сокета, без повторного открытия - невозможно, так как устанавливается флаг eof, о чём свидетельствует вызов stream_get_meta_data для дескриптора ресурса этого сокета, например:
и следующие попытки писать/читать в сокет, не приводят к успеху.
Подскажите пожалуйста, как без повторного вызова fsockopen, осуществлять общение с этим открытым сокетом?
Спасибо!
столкнулся со следующей проблемой:
если из открытого дескриптора ресурса сокета прочесть результат ответа сервера, то последующие попытки использования этого сокета, без повторного открытия - невозможно, так как устанавливается флаг eof, о чём свидетельствует вызов stream_get_meta_data для дескриптора ресурса этого сокета, например:
PHP:
$fs = fsockopen($host, $port, $errno, $errstr, $timeout);
.....
$headers[] = "GET / HTTP/1.1";
$headers[] = "Host: $host:$port";
$request = join("\r\n", $headers)."\r\n\r\n";
fwrite($fs, $request, strlen($request));
$out = '';
while ($resp = fread($fs, 1023)) {
$out .= $resp;
}
print_r(stream_get_meta_data($fs)); # флаг eof, как и следовало ожидать, установлен в TRUE
Подскажите пожалуйста, как без повторного вызова fsockopen, осуществлять общение с этим открытым сокетом?
Спасибо!