note 123763 added to function.socket-select
| From: | renmengyang567 at gmail dot com | Date: | Tue, 09 Apr 2019 12:18:07 +0000 |
| Subject: | note 123763 added to function.socket-select | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-210580@lists.php.net to get a copy of this message | ||
<explain>
A simple socket-select case ^_^
<?php
$sock = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1);
socket_bind($sock, '127.0.0.1',5000);
socket_listen($sock,1024);
$all_sock[(int)$sock] = $sock;
while (true) {
$read = $write = $except = [];
$tv_sec = 5;
$tv_usec = 5000;
$read = $all_sock;
$changed = socket_select($read, $write, $except, $tv_sec, $tv_sec);
if (false == $changed)
print "[error]socket_select() failed
(" .socket_strerror(socket_last_error()) . ")\n";
if ($changed < 1)
continue;
//var_dump($read);
//sleep(2);
foreach ($read as $rsock) {
// æå¡ç«¯è¿æ¥
if ($rsock === $sock) {
$client = socket_accept($sock);
$all_sock[(int)$client] = $client;
} else {//客æ·ç«¯è¿æ¥
$msg= socket_read($rsock, 400,PHP_NORMAL_READ);
if ($msg !== '') {
var_dump($msg);
}
}
}
}
socket_close($sock);
----
Server IP: 208.43.231.9
Probable Submitter: 185.85.3.142 (proxied: 104.199.167.217)
----
Manual Page -- http://php.net/manual/en/function.socket-select.php
Edit -- https://master.php.net/note/edit/123763
Del: integrated -- https://master.php.net/note/delete/123763/integrated
Del: useless -- https://master.php.net/note/delete/123763/useless
Del: bad code -- https://master.php.net/note/delete/123763/bad+code
Del: spam -- https://master.php.net/note/delete/123763/spam
Del: non-english -- https://master.php.net/note/delete/123763/non-english
Del: in docs -- https://master.php.net/note/delete/123763/in+docs
Del: other reasons-- https://master.php.net/note/delete/123763
Reject -- https://master.php.net/note/reject/123763
Search -- https://master.php.net/manage/user-notes.php