У меня есть весы, подключенные к клиентскому ПК с последовательным портом.Клиентский ПК установлен с SERPROXY.Используя telnet xx.xx.xx.xx порт 25003, данные отображаются успешно.Это означает, что SERPROXY работает нормально, и переадресация портов выполняется правильно и в маршрутизаторе.Я поделюсь реальным общедоступным IP-адресом по запросу, чтобы просмотреть данные с помощью telnet.
Как мне прочитать и повторить их на веб-странице?
Следующий фрагмент кода не работает при связываниииспользуя сокеты?
error_reporting(E_ALL);
// Server IP address
$address = "xx.xx.xx.xx"; // here goes the real public ip address
// Port to listen
$port = 25003;
$mysock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($mysock,$address, $port) or die('Could not bind to address');
socket_listen($mysock, 5);
$client = socket_accept($mysock);
// read 1024 bytes from client
$input = socket_read($client, 1024);
echo $input ;
socket_close($client);
socket_close($mysock);
Это моя первая попытка в сокете.Должно ли это быть обязательно двухстороннее общение, например, server.php и client.php?В противном случае сокеты не работают.
Есть ли какой-нибудь другой способ, которым мы можем прочитать вывод указанного ip-адреса и порта на веб-странице php?
Потратил несколько часов, но безуспешно.Помощь будет принята с благодарностью.
ПРИМЕЧАНИЕ: сервер размещен на bluehost.socket_extensions включены, проверены.
EDIT: также подтверждается с помощью bluehost, что порт 25003 открыт с их стороны.
EDIT: пробовал также следующим образом, но безрезультатно.
$fp = fsockopen("tcp://xx.xx.xx.xx", 25003, $errno, $errstr);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
while (!feof($fp)) {
$weight = trim(fgets($fp, 64)," ");
}
}
echo $weight;
fclose($fp);
Где я могу ошибаться?Я совершенно не на том пути?