我正在學習和嘗試瞭解在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