ID:               22656
 User updated by:  thejoshes at josh dot com
 Reported By:      thejoshes at josh dot com
-Status:           Bogus
+Status:           Open
 Bug Type:         Sockets related
 Operating System: OS X 10.2.3
 PHP Version:      4.3.1
 New Comment:

Interesting. When I use socket_set_nonblock($s); instead, I get the
following error, repeatedly:

<b>Warning</b>:  socket_accept() unable to accept incoming connection
[35]: Resource temporarily unavailable in
<b>/Users/josha/test/noblock.php</b> on line <b>27</b>


Previous Comments:
------------------------------------------------------------------------

[2003-03-12 03:29:39] [EMAIL PROTECTED]

I was going to suggest reading the manual, however this point is not
made clear:

socket_set_blocking() has nothing to do with the sockets extension, and
that is the reason that we changed its name:

http://www.php.net/manual/en/function.socket-set-blocking.php

http://www.php.net/manual/en/function.stream-set-blocking.php

To acheive non-blocking "ext/sockets", you need to call this function:
http://www.php.net/manual/en/function.socket-set-nonblock.php

------------------------------------------------------------------------

[2003-03-12 02:32:21] thejoshes at josh dot com

The following script produces this error:

<b>Warning</b>:  socket_set_blocking(): supplied resource is not a
valid stream resource in <b>/Users/josha/test/noblock.php</b> on line
<b>10</b><br />

Even though the socket connection will work fine... I expect this to
work, since $s is indeed a valid stream resource, right?

#!/usr/local/bin/php
<?php

$HOST = 'localhost';
$PORT = 4005;

# set up the server
$s = socket_create(AF_INET, SOCK_STREAM, 0);
$ret = socket_bind($s, $HOST, $PORT);
$ret = socket_set_blocking($s, false); // why is this an issue?
$ret = socket_listen($s, 1);
echo "Waiting for connection(s) on PORT $PORT...\n";

while (!$done) {
        $u = pollNewConn();
        echo "$u\n";
}

function pollNewConn() {
        global $s;

        if ($conn = socket_accept($s)) {
                return "Connected";
        } else {
                return "No connection";
        }
} 
?>

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=22656&edit=1

Reply via email to