Я пытаюсь установить постоянное соединение с weburl и читаю ответ от URL каждый раз (Соединение не будет отключено).
Ищете что-то вроде этого.
connection = connect("http://www.ibm.com?id=test");
while(connection has response){
//do something with the response until the connection in forcefully closed
}
Я заглянул в pecl_http библиотека. Но это не будет служить цели.
Можем ли мы использовать curl для постоянного подключения к веб-URL?
Или это что-то, что не поддерживается в php?
Посмотрите, как работает протокол http. Невозможно иметь постоянное соединение и получать событие при изменении содержимого. Вы можете использовать веб-сокеты или длинный опрос.
Проверьте эту библиотеку, найденную на github
https://github.com/panique/php-long-polling
используйте сокет API.
$sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_connect($sock,"www.ibm.com",80);
$data=implode("\r\n",array(
'GET /?id=test HTTP/1.0',
'Host: www.ibm.com',
'User-Agent: PHP/'.PHP_VERSION,
'Accept: */*'
))."\r\n\r\n";
socket_write($sock,$data);
while(false!==($read_last=socket_read($sock,1))){
// do whatever
echo $read_last;
}
var_dump("socket_read returned false, probably means the connection was closed.",
"socket_last_error: ",
socket_last_error($sock),
"socket_strerror: ",
socket_strerror(socket_last_error($sock))
);
socket_close($sock);