【发布时间】:2011-05-30 11:43:25
【问题描述】:
当我通过命令行运行下面的两个文件时,(首先启动 socket_server,然后是 socket_client)在服务器将任何输出发送到 socket_client 之前有很长的延迟(~60 秒)。有没有办法减少这种差距,或者有什么暗示导致问题的原因?这是我的两个代码sn-ps:
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);
}
?>
【问题讨论】:
标签: php sockets stream-socket-client