Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] UDP
Forum PHP.pl > Forum > Przedszkole
tmkpl
Witam mam taki problem, ponieważ wskazane ip nie odbiera danych których wysyłam (Nawet kiedy sam do siebie wysyłam).
Oczywiście Porty odblokowane, $addr zmieniam na odpowiednie ip.
  1. <?php
  2. $addr = '255.255.255.255';
  3. $port = '37015';
  4. $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
  5. if (socket_sendto($socket, chr(100) + chr(50) , strlen(chr(100)) + strlen(chr(50)) , $addr , $port) !== true) {
  6. echo "Done!";
  7. }
  8. socket_close($socket);
  9. ?>


Chciałbym wysłać do danego ip dane "chr(100) + chr(50)"
Dobrze mam to zbudowane? Czy musiałbym dodać jeszcze socket_bind/socket_connect ? Czy może złe jest to socket_sendto?
nevt
przed wysyłką powinienieś wywołac socket_bind dla serwera z kórego wysyłasz, najczęściej localhost, czyli ip: 127.0.0.1
poza tym w socket_sendto masz złą składnię:
  1. <?php
  2. socket_sendto($socket, chr(100) + chr(50) , strlen(chr(100)) + strlen(chr(50)) , $addr , $port)
  3.  
  4. //jeżeli chcesz wysłać dosłownie łańcuch 'chr(100) + chr(50)' to powinno być:
  5. $msg = 'chr(100) + chr(50)';
  6. socket_sendto($socket, $msg, strlen($msg), $addr, $port);
  7.  
  8. //a jeżeli chcesz wysłać dwa znaki chr(100) i chr(50) to:
  9. $msg = chr(100).chr(50);
  10.  socket_sendto($socket, $msg, strlen($msg), $addr, $port);
  11. ?>

powodzenia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.