Aynı PC'de stream_socket_server ve stream_socket_client arasında uzun gecikme

0 Cevap php

Ben komut satırı aşağıdaki iki dosyaları çalıştırdığınızda, herhangi bir çıkış sunucu tarafından socket_client gönderilmeden önce uzun bir gecikme (~ 60s) orada (ilk, sonra socket_client, socket_server başlar). Soruna neden olarak bu boşluğu, ya da herhangi bir ipucu azaltmak için bir yolu var mı? İşte benim iki kod parçacıkları şunlardır:

socket_client.php:

<?php
$fp = stream_socket_client("tcp://127.0.0.1:8000", $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
}
else {
       fwrite($fp, "2");
       echo fgets($fp, 1024);
    }
fclose($fp);
?>

socket_server.php:

<?php
$socket = stream_socket_server("tcp://127.0.0.1:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    while (!feof($conn)) {
          $result = fgets($conn, 1024);
        if($result = "2"){
                   fwrite($conn, "Hullo there");
                   }
        else{
            fwrite($conn, "Hullo here\n");
        }
    }
    fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
    fclose($conn);
  }
  fclose($socket);
}
?>

0 Cevap