HTTP paketin sonuna algılamak

0 Cevap php

Ben şu sorun var:

Ben başka bir HTTP Sunucusu karşı bir istemci olarak çalışır bir PHP komut dosyası yazmak zorunda. Bu Sunucu HTTP Bağlantısı sayar: Kapat başlık ve istemci tarafından kapatıldı sürece açık TCP bağlantı tutar. Ve burada benim sorundur. Ben (istemci) bir HTTP istek / yanıt bitirdi ve daha sonra bağlantıyı kapatmak zaman deciede var. Basitçe kullanın:

$ Data = file_get_contents ($ url);

File_get_contents bağlantı zaman aşımı (varsayılan 30 saniye) ulaşmıştır sadece döner gibi .. çalışmaz.

Yani benim kendi okuma yazmak zorunda - bu (sözde kod) gibi döngü:

$sock = fsockopen(...);
$data = '';
while($line = fgets($sock)) {
    $data .= $line;
    if(http_package_recieved()) {
        break;
    }
}

Ne yazık ki karşılık hiçbir içerik-uzunluk başlığı var. Benim soru, nasıl işlevi

http_package_recieved()

... Gibi görünmelidir.

Greets Thorsten

0 Cevap