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

[ROZWIĄZANE] jak wykorzystac sockety w praktyce


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

#1 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 06.02.2015 00:47

Witam, mam pyt dot socketów, tzn jak zastosować je w praktyce.


 

new error, socket
socket = socket_open("amxx.pl", 80, SOCKET_TCP, error)// To wiem jak zrobić, otwieranie połączenia socket

new sData[256]
format(sData, 255,"GET /index.php HTTP/1.0^r^n")// Dlaczego tutaj jak i zarówno w linijce podspodem występują kombinacje znakowe "^r^n" ? ^n to nowa linia, a ^r to tabulacja (odstęp), lecz dlaczego się one tutaj znajdują ?
format(sData, 255, "%sHost: amxx.pl^r^n^r^n", sData)
socket_send(socket, sData, strlen(sData))

new sBuffer[512]
socket_recv(socket, sBuffer, 511)
socket_close(socket)


//Wzięte z dokumentacji.

  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 06.02.2015 20:23

https://forums.allie...ad.php?t=151401
  • +
  • -
  • 2

If you can dream it, you can do it.


#3 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 07.02.2015 03:56

^r to nie tabulacja, to również jest nowa linia.

Trochę teorii... Jako, że świat nie kręci się wyłącznie wokół Windowsa (kiedyś DOSa), a na dodatek w zamierzchłych czasach rozwiązania microsoftu ustępowały Unixom, jest dość spora rozbieżność przy znakach końca linii. Otóż systemy Unixowe używają znaku ^n, jabłużka (OS X) używają ^r a windowsy i dosopodobne obu tych znaków w kolejności ^r^n. No i standard windowsowy nie dość, że daje największą kompatybilność (zrozumie go każdy system, bo zarówno Unix jak i OS X zignorują dodatkowy znak) to został przyjęty jako "niemy" standard w stronach WWW, bo kiedyś najpopularniejsza przeglądarka, Internet Explorer, rozumiała tylko tą sekwencję znaków końca linii.

Po drugie: to, co odbiera Twoja przeglądarka i co możesz podglądnąć przez kliknięcie gdzieś prawym przyciskiem na stronie i wybranie "pokaż źródło" zostało pozbawione przez przeglądarkę kilku linii, które są ważne właściwie tylko dla niej. Nagłówków mianowicie. Nagłówki te muszą posiadać konkretny format i niosą ze sobą takie informacje, jak ciasteczka, dane przesłane przez formularz, typ zawartości, kodowanie znaków i wiele innych. Nagłówki zaczynają się zawsze od linii określającej metodę żądania, adres i protokół, w następnych liniach zawierają się odpowiednio sformatowane dane.

Jakby tego było mało, przeglądarka gdy chce uzyskać jakąś stronę internetową, również wysyła nagłówki w takiej samej formie do serwera, tyle że tym razem zamiast treści strony albo nie ma nic, albo są jakieś dodatkowe dane, np przesyłane formularzem pliki.

Przypomnij sobie teraz, że ani format, ani formatex nie dodają na końcu stringa nowej linii, więc musisz ją dodać "ręcznie" poprzez właśnie ^r^n na końcu pierwszej i każdej następnej linii.

Jednak to nie wszystko... Nagłówki od treści żądania lub odpowiedzi zawsze musi oddzielać jedna pusta linia, dlatego ostatnia linia nagłówków posiada 2x ^r^n. Ta pusta linia musi się znaleźć tam nawet, gdy żądanie jest puste.
  • +
  • -
  • 2
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#4 NoLiFeR

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 14.02.2015 14:20

Dzięki, do zamknięcia.


  • +
  • -
  • 0

#5 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 14.02.2015 16:54

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark




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

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