Autor | Zpráva | ||
---|---|---|---|
Fikus Profil |
#1 · Zasláno: 19. 5. 2008, 22:45:59
Ahoj,
pokousim se o vytvoreni UDP serveru. Z internetu mi chodi na muj serverovy port 47521 udp pakety ze 2 vzdalenych zarizeni, jejichz porty jsou (!)pevne dane (47521 a 47522). Jak vytvorit php skript, ktery na serveru bezi trvale, skryte a sype prichozi data do db? Jde to v php? Na serveru mam php stranku, ktera ceka dlooouhy timeout na jeden paket. Kdyz opakovane refreshnu stranku objevi se warning socket_bind() unable to bind address [0] coz je pravdepodobne zpusobeno tim, ze se nedokoncil skript = nezavrel se port. Kdyz kouknu na netstat port je ve stavu TIME_WAIT. Tenhle warning mi zpusobi, ze uz nemuzu komunikovat se zarizenim 47521 Jak port znovu otevrit zprovoznit? (Proc je u udp prikaz close_socket, kdyz se nevytvari tunel ale pouze se posilaji datagramy?) Klient $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1); socket_sendto($sock, $broadcast_string, strlen($broadcast_string), 0, '255.255.255.255', 47521); socket_close($sock); Server $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); socket_bind($socket, '0.0.0.0', 47521); $from = ""; $port = 0; socket_recvfrom($socket, $buf, 12, 0, $from, $port); close_socket($socket); echo "Received $buf from remote address $from and remote port $port" . PHP_EOL; |
||
Časová prodleva: 16 let
|
0