私はphpで非同期ソケットリスナーコードを書こうとしています。しかし、リスナーの応答は最初の要求に対してのみ応答し、他の要求に対しては応答なしでパケットを受信することしかできません(スニファでチェックしています)。また、ループがアクティブで、ループが最初の要求に対してのみアクティブである回数をカウントしています...。 ..コードを表示します:
addr = '192.168.0.117';
$port = 7878;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $addr, $port) or die('Could not bind to address');
socket_listen($sock);
$null = NULL;
$clients = Array();
$cc = 0; // loop counter
while(true){
echo $cc."<br>";
$cc = $cc +1;
$read[0] = $sock;
$ready = socket_select($read,$null,$null,$null);
$client = socket_accept($sock);
$input = socket_read($client, 312);
echo $input;
if($input == "exit"){
socket_close($client);
socket_close($sock);
return false;
}
$output = 0x11;
socket_write($client,$output);
$input = "";
}