Soket okuyamaz (kilitleniyor)

0 Cevap php

Düzenleme: Üzgünüm, yanlışlıkla farklı bir soru için bir başlık ile yayınlanmıştır. Sabit.

, Hey guys

Ben bir web uygulaması ve cinleri bir çift arasında devlet tutmak için bir yerel C + + soket sunucusuna bağlanmak için PHP kullanıyorum. Ben soket sunucusuna veri göndermek, fakat ondan alamıyor; süresiz sadece socket_read() üzerine blok ve kilitleniyor. Ben (bir NULL karakter veya satır karakterleriyle farklı bir kombinasyonu gibi) aptal bir şey unutmadan? PHP aşağıdadır:

socket_connect($sock, $addr, $port); 
socket_write($sock, 'Hello world');
$str = '';
while($resp = socket_read($sock, 1000))
    $str .= $resp;
socket_close($sock);
die("Server said: {$str}");

Soket sunucu ilgili kısmı (<< ve >> operatörleri aşırı unutmayın) aşağıdaki gibidir:

std::string data;
sock >> data;
sock << data << std::endl;

Nerede >> çağrıları Socket::recv(std::string&) ve >> çağırır Socket::send(const std::string&).

Bu (örneğin) Telnet için çalışıyor, ama PHP güzel oynamak istemiyor. Herhangi bir düşünce / önerileri takdir edilmektedir.

0 Cevap