Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> stream_socket_server i fwrite
MLukasz
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 2
Dołączył: 18.11.2009

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


Cześć,
Bawię się streamami w PHP, próbuję zrobić prosty serwer z klientem.

server:
  1. if ($connection = stream_socket_accept($this->socket,1))
  2. {
  3. stream_set_timeout($connection, 1);
  4. $str = '';
  5. while (!feof($connection))
  6. $str .= fread($connection, 1024);
  7. // parsujemy request i generujemy odpowiedź
  8. $response = ...
  9. fwrite($connection, $response.PHP_EOL);
  10. fclose($connection);
  11. }


client:
  1. fwrite($this->socket, $data.PHP_EOL);
  2. $str = '';
  3. while (!feof($this->socket))
  4. {
  5. $str .= fread($this->socket, 1024);
  6. }


Klient wysyła dane za pomocą fwrite, i one dochodzą do serwera. Serwer generuje odpowiedź i wysyła również. Niestety, zupełnie nie wiem dlaczego, klient jej nie dostaje. sad.gif Nie otrzymuję też żadnego błędu. W momencie kiedy połączenie jest przerwane, bo np. wcisnę ctrl-c w konsoli gdzie odpaliłem serwer smile.gif, klient czyta pustego stringa, ale wcześniej cały czas czeka na dane.
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 Aktualny czas: 19.08.2025 - 18:42