Jochem Maas wrote:
> Eric wrote:
>> Stut wrote:
>>> Eric wrote:
>>>> When I create a socket/stream that connects to a news sever and try
>>>> to recv data from the socket when there is nothing there (Like if the
>>>> server sends one line and I call recv twice) the socket freezes. I
>>>> assume this is because using socket_create or fsockopen creates a
>>>> blocking TCP/Stream socket by default. When I call
>>>> socket_set_nonblock() and the socket_connect I get "A non-blocking
>>>> operation could not be completed immediately". Could someone show me
>>>> exactly how to create a non-blocking TCP/Stream socket? Thanks in
>>>> advance.
>>> I may be wrong but I think you need to set the socket non-blocking
>>> after the connect. You cannot do a non-blocking connect.
>>>
>>> -Stut
>> Then the socket recv doesnt work. Gives me "Unable read from socket".
>>     
>>     $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
>>     socket_connect($socket,"news.csh.rit.edu",119);
>>     socket_set_nonblock($socket);
>>     socket_recv($socket,$buf,1024,0);
>>     echo $buf;
> 
> I *think* you need to be looking here:
> 
> http://php.net/manual/en/function.socket-select.php

I would actually suggest going a bit higher level and using
stream_socket_client() instead.  Using a stream is much more flexible.
See the manual page for the function for some examples.

-Rasmus

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to