Archiwum

Posty oznaczone ‘protokół’

Dlaczego załącznik e-mail’a zajmuje więcej niż na dysku?

12 marca 2010 Brak komentarzy

Pewno wielu z Was zastanawiało się nie raz, dlaczego ten sam plik, wysłany pocztą elektroniczną zajmuje więcej niż na dysku. Przyczyny tego zjawiska należy dopatrywać się w czysto tekstowej formie protokołu poczty POP3 oraz SMTP. Jako że tekst drukowany, zawiera się w niepełnych 8-bitach (tzn. jest mniej niż 256 różnych liter alfabetu i innych znaków), stąd też nie można wysłać danych 8-bitowych przy jego pomocy.

Co się robi w takiej sytuacji? Pewni sprytni ludzie, wymyślili swego czasu kodowanie o nazwie Base64. Cóż takiego ono robi? Przekształca bloki 3 bajtowe, na 4 bajtowe o reprezentacji w zakresie znaków drukowanych. Innymi słowy, zapisuje 3 liczby 8-bitowe w postaci czterech 6-bitowych, jednakże tak, aby użyć do tego celu jedynie liter alfabetu oraz cyfr.

Z uwagi na w/w sposób działania, zwiększa się ilość danych potrzebnych do reprezentacji tego samego zbioru w kodowaniu Base64. Skoro z każdych 3 bajtów uzyskujemy 4, to plik w poczcie elektronicznej zajmuje o 33,3% więcej w stosunku do swojej oryginalnej kopii na dysku twardym. Przykładowo, plik 2MB w postaci załącznika do wiadomości e-mail będzie zajmował 2,66MB.

Protokół sieciowy gry strategicznej

1 stycznia 2010 4 komentarze(y)

StarcraftPamiętam jak dziś, kiedy po raz pierwszy zagrałem on-line w produkcję firmy Blizzard, strategię czasu rzeczywistego, grę Starcraft. Wtedy jako początkującego programisty, urzekł mnie fakt że to wszystko po prostu działa! Na modemie o oszałamiającej prędkości 3 KB/s dziesiątki jednostek poruszały się i walczył bez najmniejszego zająknięcia.

Po kilku latach przeczytałem artykuł podobny do tego wpisu, i zachwycił mnie geniusz ludzi którzy wymyślili w jaki sposób rozwiązać realizację protokół sieciowego w grach strategicznych. Może dzisiaj nie wydaje się to czymś bardzo odkrywczym, nie mniej, chciałbym podzielić się to wiedzą. Zakładam że bardzo dużo dzisiejszych gier działa w podobny sposób. Nawet jeśli nie jesteś programistą a jedynie graczem, zapraszam do zapoznania się z dalszą treścią i zrozumienia zasad na jakich bazują gry strategiczne.

Czytaj więcej…