Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] socket_read, socket_write
Forum PHP.pl > Forum > PHP
gutek84
Witam!

Mam problem z socket_write. Chce wyslac za pomoca tej funkcji stringa(np. ala ma kota), a w zamian po wykonaniu socket_read dostaje:

Kod
GET /ind.php HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; pl) Opera 8.50 Host: localhost Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: pl,en;q=0.9 Accept-Charset: iso-8859-2, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Cache-Control: no-cache Connection: Keep-Alive, TE TE: deflate, gzip, chunked, identity, trailers


Prosze o pomoc.
pozdr
wrzasq
to co wkleiles to raczej zapytanie nie odpowiedz HTTP. pokaz kod, zapewniam cie, ze to forum programistow, a nie worzek.
gutek84
Kod bez polaczenia bo dziala chodzi o sam odbiór:

  1. <?php
  2. //Z klasy serwer
  3. public function odebrane(){
  4. $this->klient=socket_accept($this->gniazdko);
  5. echo "klient przyszedl<br><br />";
  6. $this->odebrane = socket_read($this->klient, 2048);
  7. }
  8.  
  9. //Z klasy klient
  10. $this->polaczenie = socket_connect($this->gniazdko, $serwer, $port);
  11.  
  12.  
  13. public function wyslij($pakiet){
  14. //wysłanie danych
  15. $a=0;
  16. $a=socket_write($this->polaczenie, $pakiet, strlen($pakiet));
  17. if($a!=0)echo("wyslano");
  18. }
  19.  
  20.  
  21. //wywolanie
  22. $s->odebrane();
  23.  
  24. $pakiet='ala ma kota';
  25. $k->wyslij($pakiet);
  26. ?>


Dodam ze jak wysylam z serwera do klienta stringa to dziala! Jak od klienta do serwera to klapa.
Jak w serwerze odczytuje z gniazdka to dostaje blad:
Kod
Warning: socket_read() [function.socket-read]: unable to read from socket [0]: Żšdanie wysłania lub odebrania danych zostało zablokowane, ponieważ gniazdo nie jest podłšczone i (podczas wysyłania przez gniazdo datagramu przy użyciu wywołania „wyślij do”) nie podano adresu. in C:\Program Files\WebServ\httpd\A_class\Serwer.class.php on line 23


Jak odczytuje z socket_accept to dostaje to co w pierwszym poscie, a stringa ktory mi jest potrzebny nie widac!
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.