PHP监听Socket_PHP教程

WBOY
Freigeben: 2016-07-13 17:36:01
Original
1163 Leute haben es durchsucht

set_time_limit(10);

$commonProtocol = getprotobyname("tcp");
$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);
if ($socket) {
$result = socket_bind($socket, localhost, 1337);
if ($result) {
   $result = socket_listen($socket, 5);
   if ($result) {
    echo "监听成功";
   }
}
}else{
echo "监听失败";
}

do {
if (($msgsock = socket_accept($socket))) { /* 发送提示信息给连接上来的用户 */
   $msg = "========================================== " .
   "Welcome to the PHP Test Server. " .
   "To quit, type quit. " .
   "To shut down the server type shutdown. " .
   "To get help message type help. " .
   "========================================== " .
   "php>";
}

socket_write($msgsock, $msg, strlen($msg));

do {
   $buf = socket_read($msgsock, 2048, PHP_BINARY_READ);

   if (false === $buf) {
    echo "socket_read() failed: reason: " . socket_strerror($result) . " ";
    break 2;
   }
   if (!$buf = trim($buf)) {
    continue;
   } /* 客户端输入quit命令时候关闭客户端连接 */
   if ($buf == q) {
    break;
   } /* 客户端输入shutdown命令时候服务端和客户端都关闭 */
   if ($buf == shutdown) {
    socket_close($msgsock);
    break 2;
   } /* 客户端输入help命令时候输出帮助信息 */
   if ($buf == h) {
    $msg = " PHP Server Help Message " .
    " To quit, type quit. " .
    " To shut down the server type shutdown. " .
    " To get help message type help. " .
    "php> ";
    socket_write($msgsock, $msg, strlen($msg));
    continue;
   } /* 客户端输入命令不存在时提示信息 */
   $talkback = "PHP: unknow command $buf. php> ";
   socket_write($msgsock, $talkback, strlen($talkback));
   echo "$buf ";
} while (true);
socket_close($msgsock);
}while (true);
/* 关闭Socket连接 */
socket_close($socket);
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/508282.htmlTechArticle?php set_time_limit(10); $commonProtocol = getprotobyname("tcp"); $socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol); if ($socket) { $result = socket_bind($socket, loca...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage