-
1. Data: 2012-02-18 21:10:50
Temat: prosty kod sieciowy do gierki
Od: " " <f...@N...gazeta.pl>
ostatnio zaczalem rozpatrywac sie jak wygladalby
kod sieciowy (tj kod obslugi komunikacji sieciowej)
w gierce przez net [tak wogole to mam wrazenie ze
moja glowa zaczela jakos gorzej dzialac]
czesciowo sie rozpatrzylem ale pozostaje to
dla mnie jeszcze mgliste
chcialbym rozpatrzec taki przyklad: zdalny komp
'odgrywa' aplikacje na ktora sklada sie poruszanie
piecioma spritami po ekranie 2d, co ramke wysyla
informacje o aktualnych pozycjach tych spriteow,
czyli wysyla 10 intow co ramke
odbuorcza aplikacja odbiera te wspolrzeedne i
ustawia pozycje spritow
jak by to wygladalo mw po stronie odbiorcy
(inicjalizacje socketa mozna pominac ale chodzi
mi o kod odbierania tych 5 par intow co ramke
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
2. Data: 2012-02-19 11:46:58
Temat: Re: prosty kod sieciowy do gierki
Od: " " <f...@g...pl>
<f...@N...gazeta.pl> napisał(a):
> ostatnio zaczalem rozpatrywac sie jak wygladalby
> kod sieciowy (tj kod obslugi komunikacji sieciowej)
> w gierce przez net [tak wogole to mam wrazenie ze
> moja glowa zaczela jakos gorzej dzialac]
>
> czesciowo sie rozpatrzylem ale pozostaje to
> dla mnie jeszcze mgliste
>
> chcialbym rozpatrzec taki przyklad: zdalny komp
> 'odgrywa' aplikacje na ktora sklada sie poruszanie
> piecioma spritami po ekranie 2d, co ramke wysyla
> informacje o aktualnych pozycjach tych spriteow,
> czyli wysyla 10 intow co ramke
>
> odbuorcza aplikacja odbiera te wspolrzeedne i
> ustawia pozycje spritow
>
> jak by to wygladalo mw po stronie odbiorcy
> (inicjalizacje socketa mozna pominac ale chodzi
> mi o kod odbierania tych 5 par intow co ramke
>
>
czy mozna to zrobic otwierajac sockety w trybie udp
i wysylajac 30 razy na sekunde 40-bajtowe (5 par intow)
pakiety? czy lepiej jakos inaczej?
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
3. Data: 2012-02-19 12:16:02
Temat: Re: prosty kod sieciowy do gierki
Od: szyk <s...@o...pl>
> czy mozna to zrobic otwierajac sockety w trybie udp
> i wysylajac 30 razy na sekunde 40-bajtowe (5 par intow)
> pakiety? czy lepiej jakos inaczej?
Tak chyba będzie najszybciej.
-
4. Data: 2012-02-19 12:30:06
Temat: Re: prosty kod sieciowy do gierki
Od: szyk <s...@o...pl>
Generalnie koncepcja transmisji sieciowej jest bardzo prosta. Na każdym
poziomie sieci masz pakiet. Pakiet składa się z nagłówka który zawiera
różne informacje (np. długość pakietu, gdzie przesłać pakiet, gdzie
zaczynają się dane i jakie one są). Protokoły kolejnych warstw wstawiają
nagłówek i dane tam gdzie w protokole warstwy wyższej jest miejsce na
dane. Czyli wygląda to jak ruskie figurki bab (z których każda poza
pierwszą zawiera w środku inną babę). Z tą różnicą, że pakiety składa
się poczynając od wstawiania w największy pakiet kolejnych mniejszych
pakietów (jak wewnętrzne pakiety się nie mieszczą to w przezroczysty
sposób są dzielone na wiele zewnętrznych pakietów).
Odczyt pakietu nie różni się praktycznie niczym od odczytu pliku, poza
tym, że musisz wiedzieć (np z nagłówka, albo ze specyfikacji) jak długi
jest pakiet. Podobnie jak przy odczycie pliku nie musi się to udać "od
razu" i możliwa jest konieczność oczekiwania na dane. Tak więc
definiujesz sobie protokół przez zdefiniowanie jakie rodzaje pakietów
możesz przyjąć, a te pakiety obrabiasz tak jakby były małymi pliczkami.
No i oczywiście 1 zły bajt i cała transmisja pada...
Tak na ten moment to rozumiem...
-
5. Data: 2012-02-19 17:24:50
Temat: Re: prosty kod sieciowy do gierki
Od: " " <f...@g...pl>
szyk <s...@o...pl> napisał(a):
> Generalnie koncepcja transmisji sieciowej jest bardzo prosta. Na każdym
> poziomie sieci masz pakiet. Pakiet składa się z nagłówka który zawiera
> różne informacje (np. długość pakietu, gdzie przesłać pakiet, gdzie
> zaczynają się dane i jakie one są). Protokoły kolejnych warstw wstawiają
> nagłówek i dane tam gdzie w protokole warstwy wyższej jest miejsce na
> dane. Czyli wygląda to jak ruskie figurki bab (z których każda poza
> pierwszą zawiera w środku inną babę). Z tą różnicą, że pakiety składa
> się poczynając od wstawiania w największy pakiet kolejnych mniejszych
> pakietów (jak wewnętrzne pakiety się nie mieszczą to w przezroczysty
> sposób są dzielone na wiele zewnętrznych pakietów).
>
> Odczyt pakietu nie różni się praktycznie niczym od odczytu pliku, poza
> tym, że musisz wiedzieć (np z nagłówka, albo ze specyfikacji) jak długi
> jest pakiet. Podobnie jak przy odczycie pliku nie musi się to udać "od
> razu" i możliwa jest konieczność oczekiwania na dane. Tak więc
> definiujesz sobie protokół przez zdefiniowanie jakie rodzaje pakietów
> możesz przyjąć, a te pakiety obrabiasz tak jakby były małymi pliczkami.
> No i oczywiście 1 zły bajt i cała transmisja pada...
>
> Tak na ten moment to rozumiem...
ok, ale mam szczegolowe pytania (jak nie bedzie odpowiedzi to bee musial
sam poszukac, wiadomo, ale pogadac nie zaszkodzi):
jaki rozmiar powinny miec te pakiety najlepiej - spodziewam sie
ze po jednym bajcie nie warto wysylac, podobnie zapewne nie warto
wysylac po jednym gigabajcie - jaki rozmiar najlepiej i jaki to ma
wplyw
jak opakowac i odpakowac te pakiety, czy zwykle wysyla sie
(zwlaszcza w kontekscie gamedevu) pakiet o takiej samej
strukturze czy wysyla pakiety roznych typow ktore pozniej
trzeba 'odpakowac' po jakims typie?
jak czesto wysylac? czy 30 pakietow (stanow gry) na
sekunde to nie za duzo (jak to ustalic?) jak rozumiem
to jest obslugiwane na 'oddzielnym watku' przez jakis
'driver' do netu ktury obsluguje programową kolejke,
ale czy przy za duzym wysylaniu ta kolejka sie nie
przepelni?
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
6. Data: 2012-02-19 18:09:08
Temat: Re: prosty kod sieciowy do gierki
Od: szyk <s...@o...pl>
> ok, ale mam szczegolowe pytania (jak nie bedzie odpowiedzi to bee musial
> sam poszukac, wiadomo, ale pogadac nie zaszkodzi):
Ja nie robię w grach, wiec nie odpowiem w prost. Możesz w sumie sam
napisać jakiś sprytny program testowy i zapuścić na 2 kompach (o ile
masz 2). Poza tym z tego co wiem, to twórcy gier w RP skupiają się w
okół serwisu http://warsztat.gd/ - jest tam forum i kanał IRC.
-
7. Data: 2012-02-20 07:24:51
Temat: Re: prosty kod sieciowy do gierki
Od: " " <f...@g...pl>
szyk <s...@o...pl> napisał(a):
>
> > ok, ale mam szczegolowe pytania (jak nie bedzie odpowiedzi to bee musial
> > sam poszukac, wiadomo, ale pogadac nie zaszkodzi):
>
> Ja nie robię w grach, wiec nie odpowiem w prost. Możesz w sumie sam
> napisać jakiś sprytny program testowy i zapuścić na 2 kompach (o ile
> masz 2). Poza tym z tego co wiem, to twórcy gier w RP skupiają się w
> okół serwisu http://warsztat.gd/ - jest tam forum i kanał IRC.
mysle ze daloby sie zrobic w jednej linijce, przez przekazanie
wskaznika na bufor gdzie ma zapisywac nadchodzace dane albo
przez zarejestrowanie callbacka
InvaiteStationToSendingPackets("moj.komp.w.n.y", bufor_pointer);
InvaiteStationToSendingPackets("moj.komp.w.n.y", onPacketReceive_handler);
(nie wiem czy slowo 'to' tu pasuje gramtycznie bo mam pewne
braki w gramatyce angielskiej), jak zwykle obawiam sie ze
co nieco tu zchrzaniono (acz nie jestem na tyle zaawansowany
by oceniac internalsy 'driverow' od sieci)
wogole zajmowanie sie tym jakos odebralo mi chec by
programowac (acz nie jestem przyzwyczajony by robic
cos innego, potrzebowalbym pocwiczyc fizycznie ale jestm
jeszcze zbyt zbolaly by moc to robic - i nie wiem kiedy mi
przejsdzie bo to juz ponad cztery lata)
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
8. Data: 2012-02-20 09:35:46
Temat: Re: prosty kod sieciowy do gierki
Od: " " <f...@g...pl>
tak wogole ktos zna na tyle angielski by wiedziec
co tu nalezy wstawic?
Invitate Station ??? Sending Packets
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
9. Data: 2012-02-20 10:00:33
Temat: Re: prosty kod sieciowy do gierki
Od: szyk <s...@o...pl>
W dniu 2012-02-20 10:35, f...@g...pl pisze:
> tak wogole ktos zna na tyle angielski by wiedziec
> co tu nalezy wstawic?
>
> Invitate Station ??? Sending Packets
NTG: alt.pl.nauka.angielskiego
-
10. Data: 2012-02-20 12:43:10
Temat: Re: prosty kod sieciowy do gierki
Od: Arkadiusz Dymek <a...@n...bedzie>
W dniu 2/20/2012 10:35 AM, f...@g...pl wrote:
> tak wogole ktos zna na tyle angielski by wiedziec
> co tu nalezy wstawic?
>
> Invitate Station ??? Sending Packets
>
"to" albo "for" do wyboru, ale na pewno nie "Invitate" tylko "Invite"
Pozdrawiam,
Arkadesh