Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从一台服务器连接多个客户端_Php_Sockets - Fatal编程技术网

Php 如何从一台服务器连接多个客户端

Php 如何从一台服务器连接多个客户端,php,sockets,Php,Sockets,如何将多个客户端连接到单个服务器,用于两个客户端之间的简单聊天应用程序。 我在网上没有得到正确的答案, 如果我必须创建多个套接字或端口, 任何参考或示例代码或指南。。 这是我的服务器代码 $host = "127.0.0.1"; $port = 25003; // No Timeout set_time_limit(0); $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");

如何将多个客户端连接到单个服务器,用于两个客户端之间的简单聊天应用程序。 我在网上没有得到正确的答案, 如果我必须创建多个套接字或端口, 任何参考或示例代码或指南。。 这是我的服务器代码

$host = "127.0.0.1";
$port = 25003;

// No Timeout 
set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
//echo $socket;
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");

$input = socket_read($spawn, 1024) or die("Could not read input\n");
$output = strrev($input);    

socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n"); 
socket_close($spawn);
socket_close($socket);

如果套接字上有多个连接排队,将使用第一个连接。如果没有挂起的连接,
socket\u accept()
将阻塞,直到连接出现。 如果您希望在一台服务器上有多个客户端,则必须使用非阻塞

socket_set_nonblock($socket);