Мне нужна помощь, потому что я не могу решить эту проблему.
Я кодирую сайт php, и у меня есть небольшой код, который отправляет широковещательное UDP-сообщение в сеть, чтобыпоказать в сводной панели результат.
Когда я выполняю сценарий, который отправляет широковещательную передачу udp, я получаю следующую ошибку:
"message": "socket_read(): unable to read from socket [10060]: Se produjo un error durante el intento de conexi\ufffdn ya que la parte conectada no respondi\ufffd adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexi\ufffdn establecida ya que el host conectado no ha podido responder.\r\n",
"exception": "ErrorException",
"file": "C:\\xampp\\htdocs\\rb_control\\app\\Http\\Controllers\\SincroController.php",
"line": 57,
Да, сообщение на испанском языке, но вы можетесм. код ошибки 10060.
Самое смешное, что под Linux это работает отлично.
Здесь я прилагаю технические детали и код php для отправкишироковещательная рассылка.
- ОС: Windows 10 Home Single Language
- PHP: версия 7.1.6 с активированными модулями сокетов и openSSL
Функция PHP, которая отправляетшироковещательная (версия в простом формате):
public function discover()
{
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, 1);
socket_set_option($socket, SOL_SOCKET,SO_RCVTIMEO, ["sec" => 3, "usec" => 0]);
if ($socket === false) {
return response()->Json([
'msg' => "[ERROR] \n socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n",
'stack' => null,
'error' => true,
]);
}
$port = 4455;
$remoteAddress = '255.255.255.255';
$msg = "ID";
socket_sendto($socket, $msg, strlen($msg), 0, $remoteAddress, $port);
while ($out = socket_read($socket, 2048))
{
echo $out;
}
socket_close($socket);
}
Скрипт не работает ни отдельно, ни на части моего сайта в среде XAMPP.
Я потратил 3 дня на поиск решения, которое не могу найти.
Любая помощьочень добро пожаловать.
С уважением!