Rev 2111 |
Blame |
Compare with Previous |
Last modification |
View Log
| SVN
| RSS feed
<?php
function atomjs_connect($host, $port)
{
$socket = pfsockopen($host, $port, $errno, $errstr);
if (!$socket)
{
throw new Exception("$errstr ($errno)");
}
return $socket;
}
function atomjs_read($socket)
{
{
throw new Exception("socket not open");
}
$result = fread($socket, 8096 * 8);
while (strpos($result, "\n") === FALSE)
{
$result .= fread($socket, 8096 * 8);
}
return $result;
}
function atomjs_write($socket, $command)
{
{
throw new Exception("socket not open");
}
if (fwrite($socket, $command) === FALSE)
{
throw new Exception("failed to write");
}
}
function atomjs_data_available($socket)
{
$write = NULL;
$except = NULL;
if (false === ($num_changed_streams = stream_select($read, $write, $except, 0)))
{
throw new Exception("could not do select on socket");
}
return $num_changed_streams > 0;
}
?>