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