J'ai testé une approche très différente.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
$port = 9876;
$address = "localhost";
if (isset($port) and
($socket=socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) and
(socket_connect($socket, $address, $port)))
{
$text="Connection successful on IP $address, port $port";
//Des données random format Json
$res = array('type' => 'alert', 'action' => "test", 'param'=> array( 'id'=> '2'));
$datas = json_encode($res) ;
if( socket_write( $socket, $datas, strlen($datas)) === false )
{
echo( "Unable to write to socket:". socket_strerror( socket_last_error() )) ;
}
//On ferme la connection
socket_close($socket);
}
else
$text="Unable to connect<pre>".socket_strerror(socket_last_error())."</pre>";
echo $text; |
Cette fois ci j'ai l'erreur suivante coté serveur :
socket_recv(): unable to read from socket [104]: Connection reset by peer
1 2 3
| PHP Warning: socket_recv(): unable to read from socket [104]: Connection reset by peer in /.../serverWebSocket.php
PHP Warning: socket_getpeername(): unable to retrieve peer name [107]: Transport endpoint is not connected in /..../serverWebSocket.php |
Je ne pense pas que l'erreur soit du coté de mon serveur car lors que je lui envoie des message depuis un client Javascript
tout fonctionne très bien.
Partager