J'apprends et j'essaie de comprendre socket en php mais j'ai un petit problème avec while loop.Php socket et while
Ceci est mon code de base:
côté client
<?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);
?>
Et le côté serveur
<?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";
?>
Il fonctionne, mais si je veux ajouter une boucle while côté serveur pour gérer plusieurs messages du côté client, mon navigateur fait une boucle infinie et je ne peux pas récupérer le message du serveur.
Comment dois-je faire pour que cela fonctionne? Est-ce que quelqu'un peut m'expliquer la manière basique de faire un chat en utilisant la socket avec PHP seulement (je peux le faire avec socket.io et NodeJs) ou m'envoyer un bon tutoriel sur le web?
vous écoutez la même machine seulement? – Raptor
Je ne comprends pas. Les deux PHP sont sur le côté serveur car c'est PHP. Il n'y a pas de côté client PHP –
Shivan -> Oui j'écoute le même mache seulement pour apprendre – user2840866