Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Uzywanie stream_select
kiler129
post 16.05.2008, 14:35:22
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


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 ?


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post
artega
post 17.05.2008, 08:02:06
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 19:37