i'm using socket to connect 2 different hosts. The received data is in unprintable form, means binary.the data displayed are understandable. How to interpret or manipulate the received data into something usefull.
<<?php
error_reporting (E_ALL);
$ip = '192.228.222.123';
$port = 1249;
/ Create a TCP/IP socket. /
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
if ($socket < 0) {
echo "socket_create() failed: reason: " . socket_strerror ($socket) . "\n";
//echo "\n";
} else {
echo "Socket create OK.\n\n";
}
?>
<?php
echo "Attempting to connect to '$ip' on port '$port'..." . "\n";
//$result = socket_connect ($socket, $address, $service_port);
$result = socket_connect ($socket, $ip, $port);
if ($result < 0) {
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
} else {
echo "OK.\n";
}
$in = '\x00\x05\x00\x00\x00\x00\x00\x00';
$out = '';
echo "\nSending HTTP HEAD request...\n";
//socket_write ($socket, $in, strlen ($in));
$result = socket_write ($socket, $in, 8);
if ($result < 0) {
echo "socket_write() failed.\nReason: ($result) " .socket_strerror($result) . "\n";
}
else {
echo "OK.\n";}
echo "\nReading response:\n";
$out = socket_read ($socket, 860, PHP_BINARY_READ);
echo $out."\n";
echo "\nClosing socket...\n";
socket_close ($socket);
echo "OK.";
?>>