Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

sock - pobieranie informacji z serwera www


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 pdr

    Pomocny

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:57
Offline

Napisano 01.05.2010 14:41

Witam, napisałem plugin który pobiera proste informacje z serwera www (tą informacją zawsze jest "1").
Plugin ma naraz pobrać 50 tych informacji, i jeżeli wykonam poniższy kod:
public WriteAll()
{
 new socket,error;
 new adres[100]
 for(new idx=1; idx<=50;idx++)
 {
  new adres[100] = "test.php"
  new odp[512]
  socket = socket_open("azereus.pl", 80, SOCKET_TCP, error);
  formatex(odp, 511, "GET /%s^n^n", adres);
  socket_send(socket, odp,charsmax(odp))
  socket_recv(socket, odp,charsmax(odp));
  client_cmd(0,"echo [odp:%s]",odp);
  socket_close(socket);
  }
 } 
}

To wyświetli mi się 50 razy "[odp:1]", niestety wtedy zaczyna lagować serwer, pewnie dla tego że plugin robi open 50 razy.
Chciałbym zrobić open tylko raz, tak jak poniżej

public WriteAll()
{
 new socket,error;
 new adres[100]
 socket = socket_open("azereus.pl", 80, SOCKET_TCP, error);
 for(new idx=1; idx<=50;idx++)
 {
  new adres[100] = "test.php"
  new odp[512]
  formatex(odp, 511, "GET /%s^n^n", adres);
  socket_send(socket, odp,charsmax(odp))
  socket_recv(socket, odp,charsmax(odp));
  client_cmd(0,"echo [odp:%s]",odp);
 }
 socket_close(socket);
}


ale wtedy dostaje w konsoli:
"[odp:1]"
"[odp:]"
"[odp:]"
...
"[odp:]"

Czyli tylko przy pierwszej iteracji wszystko jest ok.
  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1725
Godlike

  • Postów:6881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 01.05.2010 14:48

Chcesz pobrać 50 stron i dziwisz się że serwer ci laguje ?
Nawet gdyby za każdym razem nie otwierał nowego połączenia to i tak nie ma szans żeby to przeszło bez lagg'a.
  • +
  • -
  • 0

#3 pdr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:57
Offline

Napisano 01.05.2010 15:19

No to niech będzie 20, albo 5, podałem tylko przykład.
Pytanie czy można iteracyjnie czytać zawartość strony tylko raz otwierając socket
  • +
  • -
  • 0

#4 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1725
Godlike

  • Postów:6881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 01.05.2010 15:32

Spróbuj wysyłać jeszcze Host.
np:
GET /forums.html HTTP/1.1
Host: amxx.pl

  • +
  • -
  • 0

#5 pdr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:57
Offline

Napisano 01.05.2010 19:37

Ok, dzięki za info, można zamknąć :)

Użytkownik pdr edytował ten post 01.05.2010 21:50

  • +
  • -
  • 0

#6 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7170
  • Lokalizacja:AMXX.PL
Offline

Napisano 01.05.2010 22:20

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Problem rozwiązany

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych