[Système] Problème socket : script
Bonjour,
J'essaie toujours de comprendre les sockets mais ça rentre doucement.
J'ai essayé d'écrire une petit script pour mettre en pratique mles premieres connaissances mais j'ai encore un petit bug que je n'arrive vraiment pas à résoudre.
Le script est lancé avec par SSH, l'objectif est d'afficher dans la fenetre des navigateurs, l'heure à laquelle la dernière personne s'est connecté à la socket.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
$address='195.195.195.195';
$port=7235;
$clients = array();
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($socket, $address, $port);
socket_listen($socket);
while(true) {
//Le code se bloque jusqu'à ce qu'une nouvelle connexion cliente est établie
$client = socket_accept($socket);
//Lors d'une connexion, le code reprend ici, il est temps de lire ce qu'on nous envoie
array_push($clients, $client);
$param = socket_read($client,2300);
foreach ($clients as $key => $value) {
if ( is_resource($value) ) {
$msg = '<script type="text/javascript">document.write(\''.date('H:i:s').'\');</script>';
socket_write($value, $msg, strlen($msg));
}
}
//socket_close($client);
} |
Ensuite je lance un navigateur et je tape l'adresse :
http://195.195.195.195:7235
Mais la page tourne dans le vide sans renvoyer aucun résultat jusqu'a ce que j'arrete le script.
D'où vient mon erreur ?
Merci pour votre aide