Re: Non-blocking sockets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

> 

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux