buff=$buff;
}
public function connect()
{
$data=array();
$ip=$_SERVER['SERVER_ADDR'];
ini_set('display_errors', true); error_reporting(E_ALL); // <- for debugging purposes only
$socket=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ( !$socket ) {
$errno = socket_last_error();
$error = sprintf('%s (%d)', socket_strerror($errno), $errno);
trigger_error($error, E_USER_ERROR);
}
if (socket_connect($socket, $ip, 502) ) {
// $errno = socket_last_error($socket);
// $error = sprintf('%s (%d)', socket_strerror($errno), $errno);
// trigger_error($error, E_USER_ERROR);
//echo "Connected";
}
$length = strlen($this->buff);
$sent = socket_write($socket, $this->buff, $length);
// echo $sent;
if ( FALSE===$sent ) {
$errno = socket_last_error($socket);
$error = sprintf('%s (%d)', socket_strerror($errno), $errno);
trigger_error($error, E_USER_ERROR);
}
else if($sent>0)
{
// echo $sent." the number of socket resources contained ";
}
else if ( $length!==$sent ) {
$msg = sprintf('only %d of %d bytes sent', $length, $sent);
trigger_error($msg, E_USER_NOTICE);
}
}
private function textBinASCII($text)
{
$bin = array();
for($i=0; strlen($text)>$i; $i++)
$bin[] = bindec(ord($text[$i]));
//echo hexdec($text[$i])."\n";
return implode(',',$bin);
}
private function ASCIIBinText($bin)
{
$text = array();
$bin = explode(" ", $bin);
for($i=0; count($bin)>$i; $i++)
$text[] = bindec($bin[$i]);
return implode(",",$text);
}
public function Connect_Socket()
{
$hold=array();
$ip=$_SERVER['SERVER_ADDR'];
ini_set('display_errors', true); error_reporting(E_ALL); // <- for debugging purposes only
$socket=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ( !$socket ) {
$errno = socket_last_error();
$error = sprintf('%s (%d)', socket_strerror($errno), $errno);
trigger_error($error, E_USER_ERROR);
}
if (socket_connect($socket, $ip, 502) ) {
// $errno = socket_last_error($socket);
// $error = sprintf('%s (%d)', socket_strerror($errno), $errno);
// trigger_error($error, E_USER_ERROR);
//echo "Connected";
}
$length = strlen($this->buff);
$sent = socket_write($socket, $this->buff, $length);
// echo $sent;
if ( FALSE===$sent ) {
$errno = socket_last_error($socket);
$error = sprintf('%s (%d)', socket_strerror($errno), $errno);
trigger_error($error, E_USER_ERROR);
}
else if($sent>0)
{
// echo $sent." the number of socket resources contained ";
}
else if ( $length!==$sent ) {
$msg = sprintf('only %d of %d bytes sent', $length, $sent);
trigger_error($msg, E_USER_NOTICE);
}
if(false !== ($bytes = socket_recv($socket,$buf,12,MSG_PEEK))) {
//echo "Read $bytes bytes from socket_recv(). Closing socket...";
//echo "
";
//echo $bytes;
}
else {
echo "socket_recv() failed; reason: " . socket_strerror(socket_last_error($socket)) . "\n";
}
socket_close($socket);
//01 02 00 00 00 05 01 04 02 00 01
for ($i=0; $i