![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Potrzebuję nawiązać stałe połączenie z serwerem, niestety wszelkie moje próby spełzły na niczym. Robię konsolę, która umożliwi mi wysłanie i otrzymywanie danych z serwera. Idea działania jest taka: Kod connect 192.163.0.153 500 <-- połączenie z serwerem o ip 92.163.0.153 - port 500 -- connection set send 123456 <-- wysłanie danych do serwera 123456 -- 654321 <-- odpowiedź serwera Wszystkie ip, porty czy dane na forum są fikcyjne. Problem polega na tym, że każde polecenie( connect, send) to nowe zapytanie do serwera(PHP) przez AJAX. Gdy mój kod PHP wygląda mniej więcej tak:
Plik klasa.php jest bardzo prosty:
Jak widać łączę się z serwerem za pomocą stream_socket_client i próbuję utworzone połączenie zapisać w sesji "$_SESSION['connection'] = $connection;". Następnie w kolejnym zapytaniu( AJAX, konsola -> funkcja send) próbuję "odzyskać" to połączenie poprzez "$fp = $_SESSION['connection'];" Jednak wtedy uzyskuje błąd, że pierwszy parametr w funkcjach fgets i fread jest nieprawidłowy - jak pisałem przyjmuje wartość (int)0. Próbowałem chyba wszystkiego stream_socket_client, stream_socket_server, fsockopen, pfsockopen, jednak nie udało mi się osiągnąć zamierzonego efektu. Jak mimo zakończenia działania skryptu PHP utworzyć stałe połączenie z serwerem, które będzie przechowywane w sesji? Pozdrawiam i z góry dziękuje z odpowiedzi. PS. Jestem pewien, że sama funkcja send działa prawidłowo. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 743 Pomógł: 0 Dołączył: 11.11.2003 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście że jest zamykane po zakończeniu skryptu, tak to by wisiało mnóstwo połączeń nie zamkniętych.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Kuziu, nikt tu o zamykaniu nic nie pisał tylko o serializacji sesji i o tym, że uchwyty serializowane być nie mogą.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 09:57 |