我正在学习和尝试了解在PHP中的套接字,但我有一个while循环的问题。Php套接字,而
这是我的基本代码:
客户端
<?php
set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$res = socket_connect($socket, '127.0.0.1', 2000);
$input = "Client to Server Message";
socket_write($socket, $input, strlen($input));
$res = socket_read($socket, 1024);
echo $res;
socket_close($socket);
?>
而服务器端
<?php
set_time_limit(0);
$address = "127.0.0.1";
$port = 2000;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($socket, $address, $port) or die("Can't bind the socket");
socket_listen($socket);
echo "Server waiting connexion...";
$client = socket_accept($socket);
$input = socket_read($client, 1024);
echo "\nInput : ".$input;
$output = 'Server to Client Message';
socket_write($client, $output);
socket_close($client);
socket_close($socket);
echo "\nServer closed";
?>
它的工作原理,但如果我想加上服务器端while循环处理来自客户端的多条消息,我的浏览器执行一个无限循环,并且我无法从服务器获取消息。
为了得到这个作品我该怎么做?
能有人可以解释我做一个聊天就像使用插座与PHP只(我可以用socket.io和做的NodeJS本)或送我到网络上一个很好的教程的基本方法是什么?
你只听同一台机器? – Raptor
我不明白。这两个PHP都在服务器端,因为它是PHP。没有客户端PHP –
Shivan - >是的,我只听学习相同的mache – user2840866