Ich bekomme über PHP kein Broadcast hinaus (oder ich weiß nicht genau ob
das Python Script es empfängt). Wenn ich die IP Adresse des Ziels direkt
eingebe und die Socket Option SO_BROADCAST hinausnehme funktioniert dies
tadellos.
Mein PHP Code ist folgender:
1 | <?php
|
2 | $ip = "192.168.255.255";
|
3 | $port = 20001;
|
4 | $str = "90";
|
5 |
|
6 | $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
|
7 | socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
|
8 | socket_sendto($sock, $str, strlen($str), 0, $ip, $port);
|
9 |
|
10 | socket_recvfrom($sock, $buf, 1000, 0, $ip, $port);
|
11 | echo "Messagge : < $buf > , $ip : $port <br>";
|
12 |
|
13 | socket_close($sock);
|
14 | ?>
|
Die Ziel IP Adresse ist die 192.168.177.3 - diese Addresse liegt
außerhalb des IP Bereiches auf dem der Webserver läuft, dieser läuft auf
192.168.178.5 und ist via VPN angebunden. Kann es sein das über den
Router / VPN keine Broadcasts nach außen gehen?