Downloader

Przykład asynchronicznego pobierania plików z internetu, które nie blokuje GMa. W przykładzie zaprezentowano ściąganie 3 plików jednocześnie (aby rozpocząć pobieranie plików trzeba wcisnąć klawisze: 1, 2 lub 3, a najlepiej wszystkie jednocześnie :P).

Można pobierać pliki zarówno streamowane o nieznanej wielkości (włącznie z treścią HTML) tak jak i pliki o znanej wielkości, dzięki czemu można wyświetlić pasek postępu. Zaimplementowano podstawową obsługę protokołu HTTP 1.1 (chunked files itp.).

Paczuszka zawiera wersje zarówno pod GM 7 (z załączonym rozszerzeniem GEX) jak i GM 6 (plik 39dll.dll także znajduje się w archiwum).

Autor: Ranmus https://gmclan.org

Rozmiar
93 KB
Autor
Ocena
8/10
51 głosów
Komentarze
Komentarze (łącznie 26, wyświetlam 1 - 15):
S
Snake (Sob., 22 Mar. 08, 22:48)
#1

Przykładzik zaisty :P

Ranmus (Sob., 22 Mar. 08, 23:57)
#2

Tylko strasznie dużo kłopotów miałem z wysyłaniem nagłówka, aż w końcu sprawdziłem w oficjalnym przykładzie jak to autor zrobił te ściąganie. No nigdy bym nie wpadł na to, że jakieś setformaty i konkretne chry trzeba naustawiać na końcach linijek, ponieważ w RM_HTTP działało mi to normalnie bez szmerów bajerów. Czyżby wysłużony GM SOCK był po prostu lepszy w operacjach na ciągach tekstowych?

gnysek (Nie., 23 Mar. 08, 00:02)
#3

Wiesz, 39dll został napisany pod gry online głównie więc reszta kuleje :P Ja też miałem problem z wysyłaniem danych na www w 39dll jak robiłem dla Borka ten przykład ze statusem Almory, ale dało radę w końcu :P A to było tylko wysyłanie :P

Ranmus (Nie., 23 Mar. 08, 00:19)
#4

Ale ja tu nie widzę jakichś problemów i dziwi mnie to po co w ogóle jest jakiś setformat. Zresztą to wszystko wina braku natywnych socketów w gm i większej palety typów danych. Ja w C# nie mam takich kłopotów. Biorę klasę do natywnej obsługi socketa, otwieram i gotowe. Wysyłanie i odbiór danych idzie w tablicy bajtów i niczym innym, a do rzutowania tekst -> tablica bajtów i na odwrót mam specjalne funkcje. W sumie to nawet nie muszę rzutowania robić.

Borek (Nie., 23 Mar. 08, 00:27)
#5

Boskie! Ranma jak coś wrzuci, to jest porządne... To mi się właśnie podoba!

gnysek (Nie., 23 Mar. 08, 10:44)
#6

Borek, a wyobraź sobie, że w nowej wersji GM7 jednak zrobią zapisywanie zasobów w osobnych plikach niż exe, żeby unikać dekompilacji i wtedy update almory sam się ściąga :P

Ranmus (Nie., 23 Mar. 08, 22:41)
#7

Usunąłem komentarze dotyczące braku pobierania HTML z tej racji, że zlikwidowałem tą niedogodność. :)

gnysek (Nie., 23 Mar. 08, 22:59)
#8

Weź się człowieku lecz :P Taka wiedza a dopiero teraz się dzielisz ? :P

Ranmus (Nie., 23 Mar. 08, 23:05)
#9

Tak, jasne. Przed zrobieniem tego przykładu po prostu wziąłem opis protokołu http i poczytałem na temat tych jego części, które będą mi potrzebne. Czy to takie trudne przeczytać, zrozumieć i stworzyć? :P

koko123 (Pon., 24 Mar. 08, 01:01)
#10

Bardzo porządny przykład B)
10

Dawidds (Pon., 24 Mar. 08, 08:30)
#11

No teraz masz 5 bez żadnych "wontów" :P

Zaraz spróbuje se zrobić aktualizaje automatyczną gry - dla jaj :P

Solmis (Pon., 24 Mar. 08, 09:35)
#12

Super! ^^

gnysek (Pon., 24 Mar. 08, 11:06)
#13

Dawidds, ale tu jest skala x/10 :P

Ranmus (Pon., 24 Mar. 08, 12:22)
#14

No właśnie. Zresztą powinienem wtedy dodatkowo zresetować ocenę, bo nie mam pełnej dziesiątki. :P

K
Kofel (Sob., 29 Mar. 08, 14:09)
#15

Ranmus, obsługuje to coś parametry GET i POST? :D

Najnowsze wersje GameMakera:

Stabilna
2024.2.0.132 • 2024.2.0.163
wydana 15 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 154 dni temu
Beta
2024.400.0.516 • 2024.400.0.537
wydana  5 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
31 użytkowników online na discordzie:
DungeonFairy🧚, s..., Alice, Nitro Slav, Carl-bot, p..., Grela, Add92, SuperEnduro, Kowu, Kuzyn, OdrzuconyKrakers, Filyps, fervi, YoungKrystian, Kalor, PhysX ᴺⱽᴵᴰᴵᴬ, r..., 🧁Cupcake🧁, antek, lethian, HappyOrange, Pako, Arrekin, Dyno, Ulti, bagno, g..., moeglich, Shockah, exigo
Shoutbox
I am Lord (19:15, 17.03.24)
6h mam na to hmmm
I am Lord (19:06, 17.03.24)
Ale temat fajny
gnysek (01:33, 13.03.24)
Powinno działać, jest w kodzie sortowanie wg. najbliższego startu :)
Uzjel (21:59, 11.03.24)
Nie, ale za pierwszym razem zrobiłem fuckup, że było "Tura testowa" X_X
I am Lord (16:58, 11.03.24)
A co Uzjel już masz nawymyślane 100 tematów? 😅
Uzjel (20:08, 10.03.24)
@gnysek a jak bym dodał kilka lig na raz to walnie?
Uzjel (20:08, 10.03.24)
Liga będzie zawsze od piątku 16:00 do poniedziałku 23:59, zawsze w środku miesiąca.
gnysek (08:48, 10.03.24)
Tak, to też jest do poprawy X_X
Adriann (18:22, 09.03.24)
Tylko myślę czy nie leiej gdyby mówiło że zostało tyle i tyle dni i ileś godzin a nie tylko w godzinach ;d Albo konkretna data obok, byłoby czytelniej
I am Lord (15:08, 08.03.24)
o super z tą ligą :)
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?