Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> web server socket, problem
riko
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.01.2010

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


Witam jestem nowy użytkowaniem tego forum mam problem dla którego zarejestrowałem się tu.
Chodzi mi to przykład na stronie http://code.google.com/p/phpwebsocket/ a konkretnie o serwer. Wszystko działa całkiem dobrze lecz chciałbym go nieco zmienić i dodać funkcje umożliwiającą wysyłanie wiadomości przez serwer do klienta co jakiś czas. W obecnej chwili serwer odpowiada tylko na wezwanie klienta.
Siedzę nad tym od piątku i nie potrafię wprowadzi takiej zmiany próbowałem wszystkiego i ciągle nie działa , a niestety innego działającego przykładu nie znalazłem. będę wdzięczny za pomoc
Go to the top of the page
+Quote Post
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Pierwsza zasada przy jakichkolwiek zabawach z siecią - najpierw naucz się, do czego służy dane rozwiązanie i jak działa, a później myśl, jak to wykorzystać. Zajrzyj sobie do specyfikacji websockets - nie ma tam ani słowa o odbieraniu przychodzących połączeń, więc jak niby wyobrażasz sobie odbiór takiego komunikatu od serwera? Po drugie, skąd serwer miałby wiedzieć, komu wysyłać wiadomość i jak rozwiązałbyś problem z przechodzeniem przez firewalle i NAT? Jeśli klient nie ma publicznego adresu IP w Internecie, ani nie ma zrobionego przekierowania portów, praktycznie nie ma szans się z nim połączyć z zewnątrz.

Jeśli chcesz utrzymać połączenie, to w PHP będzie Ci ciężko, gdyż nie ma tu obsługi współbieżności, a włączenie oczekiwania np. funkcją sleep() zamrozi cały serwer. Można wprawdzie kombinować z utrzymywaniem puli połączeń i okresowym sprawdzaniem, czy czegoś nie trzeba wysłać, ale moim zdaniem już lepiej wziąć język, który się o niebo lepiej nadaje do pisania oprogramowania stricte serwerowego.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
riko
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.01.2010

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


czytałem i czytałem o nowych rozwiazaniach. websockiets działają full duplex(w obie manki), http://www.kaazing.org/confluence/display/...TML+5+WebSocket wiec taka komunikacja jest możliwa nat to tez nie jest żadna przeszkoda
Go to the top of the page
+Quote Post
Zyx
post
Post #4





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Dalej nie rozumiesz, o czym mówię i na czym to polega. Nawiązanie połączenia, a transmisja w już utworzonym połączeniu TCP to dwie różne rzeczy. Przesłać dasz radę dane w obie strony, bo wynika to z fundamentalnych założeń działania TCP, ale musisz mieć otwarte połączenie. A w websockets klient może wyłącznie tworzyć połączenia, natomiast nie może odbierać przychodzących (np. od serwera).

Ten post edytował Zyx 25.01.2010, 16:44:44


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
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: 22.08.2025 - 01:46