我有一個php客戶端,它向服務器發送http請求。這是代碼:如何從php服務器讀取http獲取請求
客戶
<?php
function xml_post($xml_request)
{
$url="http://localhost/malakies/server.php?xml=" . urlencode($xml_request);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result=curl_exec($ch);
if (curl_errno($ch)){
$ERR .= "cURL ERROR: ".curl_errno($ch).": ".curl_error($ch)."\n";
}
return $result;
}
$result=xml_post("Send sth");
echo $result; ?>
和服務器代碼:
<?php
$postdata = $_GET['xml'];
echo $postdata; ?>
所有工作完美。但我有一個問題,它可能是一個菜鳥之一:) 我想在服務器端有一個偵聽器,當一個http請求已經來了,並與這個請求做了什麼。我不知道,如果HTTP請求,讓我這樣一個選擇的技術..我想折騰這樣的:
while(http request hasn't come yet)
just wait;
do sth with the http request.
預先感謝您。
這是一個奇怪的要求。從某種意義上說,你的網絡服務器已經爲你做到了這一點。它在請求進入時觸發你的PHP腳本。這在某種程度上是不夠的嗎? –
你有Apache做這個工作(監聽傳入的HTTP請求)。或者您想保持與長時間打開的客戶端的連接?這是什麼目的? – Gedrox