after putting in set_time_limit(82000);
Im gettnig this now...it waits for 45 secs then dies
<br />
<b>Warning</b>: stream_socket_accept() [<a href='function.stream-socket-accept'>function.stream-socket-accept</a>]: accept failed: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
in <b>C:\phpxm\server.php</b> on line <b>45</b><br />
server.php code
<?
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); // always modified
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0
header("Cache-control: private"); // <= it's magical!!
header("Content-Type: text/plain; charset=utf-8");
set_time_limit(82000);
require("cfg.php");
require("chanlist.php");
if ($os == "win") {
system("title XMPHP");
}
//Start Server, bind socket
$socket = stream_socket_server("tcp://".$server_addy.":".$server_port, $errno, $errstr);
//Print banner
print "*** LOG START: ".date('n/j/Y g:i a')."\n";
print "============================================================\n";
print "XMPHP v0.1.0 - Copyright (C) 2004 Derrick Rose.\n";
print "-------------------------------------------------------------------\n";
print "XMPHP comes with ABSOLUTELY NO WARRANTY; This is free software,\n";
print "and you are welcome to redistribute it under certain conditions.\n";
print "Please see [url]http://www.gnu.org/licenses/gpl.txt[/url] for details.\n\n";
print "Starting Server...Started.\n";
print "Listening on Port: ".$server_port."\n";
//Socket error, check
if (!$socket) {
echo "$errstr ($errno)<br />\n";
$string = "$errstr ($errno)\n";
$filname = "error.txt";
if (file_exists($filename)) {
$fp = fopen($filename, "a");
$write = fputs($fp, $string);
fclose($fp);
}
//Look for connections (LISTEN MODE)
} else {
echo "Waiting for connections";
while ($conn = stream_socket_accept($socket)) {
echo "\nClient Connected.\n";
$get_str = fgets($conn, 4096);
//Set Client String
$newstr = "Client: ".$get_str;
echo $newstr;
$msg_command = explode(" ", $get_str);
//Put switches here
if (strstr($get_str, "XMlist")) {
//Send Dummy XM Channel List
stream_socket_sendto($conn, $chanlist."\r\n");
echo "Server: Sent List to Client\r\n";
fclose($conn);
} elseif (strstr($get_str, "XMpoff")) {
//Power Off PCR
stream_socket_sendto($conn, "Power Off Function not done!<br \> <a href='?XMlist'>click here</a> to go back");
echo "Server: Turning off XMPCR Unit\r\n";
//fclose($socket);
fclose($conn);
} elseif (strstr($get_str, "XMpon")) {
//Power Off PCR
stream_socket_sendto($conn, "Power On Function not done!<br \> <a href='?XMlist'>click here</a> to go back");
echo "Server: Turning on XMPCR Unit\r\n";
fclose($conn);
} elseif (strstr($get_str, "XMchange")) {
//Change Channel
//$str = "GET /?XMchange=1 HTTP/1.0";
$rstrip = "GET /?";
$lstrip = "HTTP/1.0";
$partialPath1 = substr($get_str, strlen($rstrip));
$partialPath2 = substr($partialPath1, 0, -10);
$get_channel = explode("=", $partialPath2);
echo $get_channel[0]." ".$get_channel[1];
stream_socket_sendto($conn, "Channel Request: ".$get_channel[1]." <br>Change Channel Function not done!<br \> <a href='?XMlist'>click here</a> to go back");
echo "Server: Changed channel to: ".$get_channel[1]."\r\n";
fclose($conn);
} elseif (strstr($get_str, "XMinfo")) {
//Get Info
stream_socket_sendto($conn, "Info Function not done!<br \> <a href='?XMlist'>click here</a> to go back");
echo "Server: Getting info\r\n";
fclose($conn);
} elseif (strstr($get_str, "XMhome")) {
//Get Home
stream_socket_sendto($conn, $chanlist."\r\n");
echo "Server: Sent List to Client\r\n";
fclose($conn);
} else {
stream_socket_sendto($conn, $chanlist."\r\n");
echo "Server: Sent List to Client\r\n";
fclose($conn);
}
}
//Close Sockets, exit XMPHP
fclose($socket);
}
?>