Я надеюсь, что я не задаю вопрос о спаме, потому что я не могу найти вопрос об этом.Я пишу слушатель порта сокета для прослушивания определенного IP: PORT, используя PHP для получения пакетов TCP от устройств слежения GPS.Когда я запускаю скрипт с этой командой:
$php.exe -q My/Script/Files/Path.PHP
все в порядке, мой прослушиватель портов сервера работает успешно, и я получаю данные с устройств, но когда я хочу открыть их с помощью своего браузера (wamp -> localhost), это говоритчто
Warning: socket_bind(): unable to bind address [10049]: The requested address is not valid in its context.
Как я могу решить эту проблему?С наилучшими пожеланиями.
Изменить один:
Код сценария моего сервера:
<?php
error_reporting(E_ALL);
set_time_limit(0);
ob_implicit_flush();
$address = '*.*.*.*'; //I put Here My System Local IPV4 Address (163.*.*.*)
$port = *****; //I put Here My Server Opened Port Number and I turned off the firewall to test
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}
if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}
if (socket_listen($sock, 1) === false) {
echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}
if ($msgsock = socket_accept($sock)) === false) {
echo "socket_accept() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}
if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
echo "socket_read() failed: reason: " . socket_strerror(socket_last_error($msgsock)) . "\n";
}
$buf = trim($buf);
$clientResponse = explode(',', $buf);
foreach($clientResponse as $key=>$value) {
echo $key . ' : ' . $value . "<br />";
}
socket_close($msgsock);
socket_close($sock);
?>
Как я уже говорил ранее:
Когда я запускаю этот сценарий с PHPCLI, все в порядке, и мое устройство отправляет пакет TCP, а мой сервер получает пакет TCP и показывает эту информацию.Но когда я запускаю его по wamp с локальным IP 127.0.0.1, это выдает мне эту ошибку.
до здесь:
- У меня есть VPS-сервер
- У меня есть статический IP (публичный IP)
- У меня есть открытый порт TCP с выключенным межсетевым экраном
- У меня есть локальный IP
- У меня есть wamp с IP: Порт -> 127.0.0.1:80
Изменить два:
Мой порт скрипта: 41260