Невозможно прочитать данные из сокета, невозможно связать с адресом в php - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть весы, подключенные к клиентскому ПК с последовательным портом.Клиентский ПК установлен с 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);

Где я могу ошибаться?Я совершенно не на том пути?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...