I have a code that I translated from C + + in Windows. In C + + functions in php but it only works the first time.
Then if I want to do reoperation to close the application that receives the data and restart it.
It does not work if you restart Apache.
What can it be?
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, 1);
$a=socket_connect($socket, $adr, $port);
socket_send($socket, $pck, strlen($pck), 0)
socket_close($socket);
Add: these instructions do not work in Windows:
if (socket_set_option($sock, SOL_SOCKET, SO_LINGER, array('l_onoff' => 1, 'l_linger' => 0))){
echo 'Unable to set SO_LINGER: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (socket_set_option($sock, SOL_SOCKET,
SO_BROADCAST, 1)) {
echo 'Unable to set SO_BROADCAST: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (socket_set_option($sock, SOL_SOCKET,
SO_SNDTIMEO, array('sec'=>1, 'usec'=>0))){
echo 'Unable to set SO_SNDTIMEO: '. socket_strerror(socket_last_error()) . PHP_EOL;
}