#22656 [Opn->Bgs]: socket_set_blocking() won't work?
| From: | wez@php.net | Date: | Wed, 12 Mar 2003 09:29:40 +0000 |
| Subject: | #22656 [Opn->Bgs]: socket_set_blocking() won't work? | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-35425@lists.php.net to get a copy of this message | ||
ID: 22656
Updated by: wez@php.net
Reported By: thejoshes at josh dot com
-Status: Open
+Status: Bogus
Bug Type: Sockets related
Operating System: OS X 10.2.3
PHP Version: 4.3.1
New Comment:
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
Previous Comments:
------------------------------------------------------------------------
[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