Gibt es dieses Skript auch für UDP?

Hallo zusammen,

ich habe ein interessantes Skript gefunden, mit dem man TCP-Verbindungen unterhalten kann:

#!/usr/local/bin/php –q



set\_time\_limit (0);

$address = '192.168.0.1'; // IP des Servers selbst
$port = 9000;

$sock = socket\_create(AF\_INET, SOCK\_STREAM, 0);
socket\_bind($sock, $address, $port) or die('Could not bind to address');
socket\_listen($sock);
$client = socket\_accept($sock);
$empfangeneNachricht = socket\_read($client, 1024);

echo "

".$empfangeneNachricht;

socket\_close($client);
socket\_close($sock);

?\>

Gibt es das auch für UDP? Statt SOCK_STREAM soll man ja SOCK_DGRAM nehmen, aber das alleine reicht ja nicht, wie es scheint.

Schöne Grüße,

Mohamed.

Hallo Mohamed,

siehe http://de.php.net/socket_create

$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

In diesem Kommentar findest Du auch ein einfaches Beispiel fuer UDP:
http://de.php.net/manual/de/function.socket-create.p…

Gruss
Stefan

Hallo Stefan,

vielen Dank für Deine Antwort. Ich meinte aber eigentlich die Frage, wie man das von Dir Vorgeschlagene einbaut, denn socket_listen() sowie socket_accept() funktionieren ja mit UDP nicht mehr. Es hat jetzt aber geklappt:

set\_time\_limit (0);

$address = '192.168.0.1'; // IP des Servers selbst
$port = 9004;

$sock = socket\_create(AF\_INET, SOCK\_DGRAM, SOL\_UDP);
socket\_bind($sock, $address, $port) or die('Could not bind to address');


for($i=0;$i
".$empfangeneNachricht;
 sleep(1);flush();
}

socket\_close($client);
socket\_close($sock);

?\>

Schöne Grüße,

Mohamed.