Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Uzywanie stream_select
Forum PHP.pl > Forum > PHP
kiler129
Na poczatku powiem ze dokumentacje czytalem ale niestety naprawde nic z niej nie rozumiem sciana.gif
A wiec mam sobie taki kod:

  1. <?
  2. $socket = stream_socket_server("127.0.0.1:23", $errno, $errstr);
  3.  
  4. while(1)
  5. {
  6. //TUTAJ ANALIZA JAKICHS DANYCH
  7.  
  8. if($conn = stream_socket_accept($socket)) //Czeka na polczenie
  9. {
  10. Wysyla dane i leci dalej
  11. }
  12. }
  13. ?>


I teraz wlasnie kod "if($conn = stream_socket_accept($socket))" jest niepoprawny. Jak na szybko kolega mi wyjsnil bedzie on czekal na polaczenie dotad az nadejdzie i nie wykonywal kodu dalej.
Gdy polczewnie nadejdzie wysle dane, i idzie dalej ale znowu przy ponownym przjsciu petli sie zatrzyma.
Dostalem info ze musze uzyc stream_select.
Ma to wygladac tak ze natrafia na ten kawalek kodu i jesli oczekuje polaczenie to je akceptuje i obsluguje, jesli nie to nie stoi tylko idzie dalej. Przy kolejnym przjsciu petli znowu sprawdza czy jest polaczenie, jesli nie ma to idzie dalej i tak w kolo.

Czy ktos dobry moze wyjasnic jak to zrealizowac ?
artega
Cytat
Na poczatku powiem ze dokumentacje czytalem ale niestety naprawde nic z niej nie rozumiem

Do "suchego" manuala przydatne są też komentarze, które warto czytać smile.gif
Jeżeli dobrze zrozumiałem istotę rzeczy to... wystarczy jedynie dodać argument timeout do funkcji stream_socket_accept by nie oczekiwała na połączenia
  1. <?php
  2. if($conn = stream_socket_accept($socket, 0))
  3. {
  4. // akceptuj polaczenie
  5. }
  6. else
  7. {
  8. // rob swoje
  9. }
  10. ?>
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.