![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio udzielałem odpowiedzi w poście i tknęło mnie, że można zrobić coś bardzo ciekawego. Mam na myśli protokół komunikacyjny w php, za pomocą fsocketopen, print i fgets na kliencie oraz readline oraz print na serwerze? Czy tak by się dało. Do zastosowań mniejszych lub nawet większych. Wszystko można by tak było zrobić (nawet serwer www, ale po co wyważać otwarte drzwi). Mam na myśli coś takiego.
Mam pytanie czy coś takiego wogóle by działało (oczywiście by się dało w linuxie odpowiednią konfigurację, wiem, że tak sie da). Tak co do możliwości to uważam, że są spore aczkolwiek niewydajne i myśle, ze lepiej to napisać w czym innym, ale tak się po prostu zastanawiam... Napiszcie co o tym myślicie i czy macie już może tego typu doświadczenia? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przenioslem topic do php Pro hehe, a ja go szukamCytat Czy mogl bys jasniej przedstawic projekt Są dwie strony (jak zawsze w sieci). Jedna jest serwerem, a raczej skryptem serwera napisanym w php i uruchamianym pod linuxem za pomocą plików (a raczej wpisanych do nich danych)Kod /etc/services --------------- phpserwer 12345/tcp /etc/inetd.conf ----------------- phpserwer stream tcp nowait user /home/user/skrypt.php Skrypt musiałby miec taką postać Teraz dochodzi klient, który może być czymkolwiem, skryptem www, skryptem shellowym, lub nawet programem w c/czymkolwiem. Polega to na tym, że skrypt po stronie klienta miałby otwierałby połączenia za pomocą fsockopen((local)host, 12345). Port podałem taki, żeby się zgadzało z plikem konfiguracyjnym. Teraz tak. Skrypt funkcją fputs() wydawał by polecenia/odpowiadałby serwerowi, a funckją fgets otczytywałby odpowiedzi/polecenia serwera. Inaczej by to jednak musiało wyglądać po stronie serwera, który musiałby jakoś odczytywać dane (komunikowałby sie za pomocą print, więc z tym podejrzewam nie ma problemu). Myślę, że dałoby się to zrobić np. za pomocą readline, tylko czy to by działało w takim zastosowaniu. W przykładzie na górze, w tym dialogu pomiędzy serwerem a klientem użyłem pewnego zabezpieczenia. Klient nie wysyłałby danych dopóki nie otrzymałby od serwera instrukcji READY (print "READYn"; na serwerze). To oznaczałoby, że serwer gotowy jest do otrzymania odpowiedzi/instrukcji. Mam nadzieję, że teraz już to jaśniej wyjaśniłem i jakoś można się w tym połapać! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 07:47 |