Opracowałem rozszerzenie klienta PHP5 dla aplikacji serwera, którą napisałem, i jak na razie działa całkiem dobrze, ale nie obsługuje jeszcze trwałych połączeń. Ponieważ jest to coś, co chcę zaimplementować przed wydaniem pierwszej stabilnej wersji, szukałem dokumentacji dotyczącej trwałości i znalazłem trwałe procedury alokacji (pemalloc, pecalloc, etc). czego nie mogę zrozumieć, jak odzyskać uporczywie przydzieloną sprzeciwu po otrzymaniu nowych wniosków, to znaczy, powiedzmy, że utrzymująca się identyfikator połączenia jest:C Przedłużyć obiekt przedłużenia PHP
<hostname>:<port>:<timeout>
Jak zapisać (lub sprawdzić, czy to już utworzony) obiekt połączenia (który jest strukturą C, a nie zval lub cokolwiek ściśle związanego z PHP)? Jak mogę go odzyskać później, biorąc pod uwagę jego identyfikator?
PS: Wiem o trwałych strumieniach PHP (przestudiowałem źródła pfsockopen C), ale używam biblioteki klienta C, więc nie mam dostępu bezpośrednio do gniazda lub nie modyfikuję biblioteki klienta C, aby korzystać ze strumieni php zwykłych gniazd.
Dzięki.
Stałe połączenia są uważane za najmniej problematyczne dla bezpaństwowym projektowaniu serwera WWW . Dlaczego chcesz to wdrożyć? Chciałbym spróbować utworzyć pulę połączeń, jeśli to możliwe, i spróbować ponownie zainicjować i ponownie użyć istniejących – hek2mgl
tak też jest świetny pomysł, ale i tak będę potrzebował wsparcia, więc pytanie pozostaje takie samo :) –
Interesujący problem, mimo wszystko . :) Obawiam się, że nie mogę ci więcej pomóc, ponieważ wydaje się, że wiesz o tym więcej jako ja. Ale dodałem ulubioną i jestem ciekaw, jak będzie wyglądać odpowiedź. – hek2mgl