Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Gibt es dieses Skript auch für UDP? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Gibt es dieses Skript auch für UDP?


 
loxx
04-11-2007, 16:01 
 
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 "<br><br>".$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,


loxx.

 
loxx
06-11-2007, 08:27 
 
Darf ich daraus schließen, dass das von mir angedachte unmöglich ist?

 
H2O
06-11-2007, 14:22 
 
Ich hab mich zwar noch nicht gross damit befasst, aber Protocol 0 dürfte auch mit TCP nicht funktionieren. Probier mal folgendes:$sock = socket_create(AF_INET, SOCK_DGRAM, getprotobyname('UDP'));

 
loxx
06-11-2007, 17:54 
 
Ich glaube, da muss man mehr ändern. socket_listen() funktioniert mit UDP z.B. nicht...

 
brmartin
07-11-2007, 18:13 
 
Hi loxx

Für den Verbindungsaufbau:

fsockopen('udp://192.168.0.1', 9000, $errno, $error, 10);

Die 10 gibt das Timeout in Sekunden an, wie lange PHP warten soll, bis eine Verbindung aufgebaut werden kann. Nach dieser Zeit bricht PHP ab und es wird eine Timeout-Fehlermeldung in den Error-Variablen gespeichert.

So sollte es klappen.

P.S.
quakenet und google ;)

 
nichtsooft
10-11-2007, 06:33 
 
Wohin willst du dich denn connecten!? Ich mein welches Service läuft auf deinem Port!? Viell. gibt's bessere Varianten...!?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:07 Uhr.