![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 1 Dołączył: 25.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Miałem pewien skrypt który jeden raz otwierał socket przez fsockopen() a następnie wykonywał zapytania i odbierał odpowiedź - i tak około 10-ciu razy bez zamykania gniazda. Jednak gdy dzisiaj siadłem do tego skryptu, okazało się że po jednokrotnym pobraniu danych z gniazda, trzeba utworzyć nowe gniazdo i na nim wykonać następne operacje. Wydaje mi się że coś zmieniło się od roku w php (skrypt ma rok) gdyż wcześniej wszystko działało. Oto struktura pliku:
Mnie to wygląda na to że feof zamyka połączenie przy dotarciu do EOF. Znacie jakieś rozwiązanie tego problemu? Ciągłe tworzenie nowego gniazda zajmuje zbyt dużo czasu. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
W PHP 5.2 można wykonywać więcej wywołań na porcie 80, o ile w nagłówku wyślemy:
Kod Connection: keep-alive Keep-alive: 300 Jednak do tego potrzebne jest pobranie Content-length ze zwracanych nagłówków i odpowiednia kontrola zwracanej przez serwer treści. Być może używasz Connection: close. Podejrzewam, że głównie właśnie o to chodzi. A co do kodu: Pierwsze co przykuwa moją uwagę to kilka drobnych błędów logicznych i to, skąd wzięło się to $stop.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 1 Dołączył: 25.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja podałem tylko szkielet, program w rzeczywistości wygląda trochę inaczej.
Spróbuję z keep-alive i się odezwę. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 22:46 |