Re: cvs socket extension
| From: | Chris Vandomelen | Date: | Mon, 23 Jul 2001 12:14:29 +0000 |
| Subject: | Re: cvs socket extension | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-60741@lists.php.net to get a copy of this message | ||
> Morning ...
>
> Has anyone a working example on using the new socket_select()
> call with non-blocking connection-oriented sockets? blocking
> sockets with socket_accept() work like a charm. But I can't get
> socket_select() to work.
That's because of the patches that were made. Try specifying 0x7FFFFFFF or
something equally large for max_fd (the first argument to select) and it
*should* work.
The reason it doesn't work is because file descriptors were changed from
ints to resources, and since the first argument to select() (and therefore
socket_select()) must be greater than the largest file descriptor in the
set, and resource number != file descriptor.. should be obvious. :)
Try something like:
--------------------------
$someport = 3334;
$fd = socket_create_listen($someport, 5);
$fd_set = socket_fd_alloc();
socket_fd_set($fd, $fd_set);
socket_select(0x7fffffff, $fd_set, 0, 0, 0, 0);
--------------------------
to force the select function to see all of the file descriptors in the set
(as the socket_fd_* functions do the Right Thing when dealing with the
resources).
Chris
>
> ty
> - Markus
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net
> For additional commands, e-mail: php-dev-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net
>
>