-
11. Data: 2012-02-20 12:49:09
Temat: Re: prosty kod sieciowy do gierki
Od: <k...@w...pl>
>> 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...
>>
No i mu namieszałeś, chcesz aby on wynajdował koło na nowo -> Implementacja
Gniazd.
Po co mu tłumaczysz jak działa stos sieciowy, o tym niech sobie doczyta.
Do "" poczytaj o gniazdach surowych to podstawa do obecnej komunikacji
sieciowej.
musisz sam wymyśleć sobie protokół
>> 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
To zależy od prędkości i jakości sieci
Ogólnie TCP/IP ma 0-1024 bajtów w pakiecie, ale tak naprawdę to on decyduje
ile ma pakiet, jeżeli będzie za duży to zostanie podzielony.
Jednocześnie gwarantuje że prześle dane lub zerwie transmisje.
> 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?
po co? W gniazdach robisz to Send i Recv i to koniec
Send -> wysyłasz dane
RecV -> odbierasz dane
i tyutaj odgrywa rolę twój protokół ... end done
Tutaj masz namiastkę opisu
http://pjwstk.dyski.one.pl:81/public/ftp.pjwstk.edu.
pl/zsuski/zso/04-Gniazda.pdf
Jest jeszcze
http://lubimyczytac.pl/ksiazka/122164/unix-programow
anie-uslug-sieciowych-tom-1-api-gniazda-i-xti
to chyba najlepsza pozycja ze szczegółami jak ma działać serwer i klient jak
rwie się połączenie.
Linux - Windows nie wiele się różni.
Ciiii
http://peb.pl/informatyka/411135-rapidshare-unix-pro
gramowanie-uslug-sieciowych.html
tego nie podawałem
>
> jak czesto wysylac? czy 30 pakietow (stanow gry) na
> sekunde to nie za duzo (jak to ustalic?)
Prawdopodobnie doświadczalnie, ale myślę im mniej ruchu tym lepiej.
> 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?
A www się przepełnia?
To zależy jak ustawisz gniazda, TCP/IP blokujące , nie blokujące -
asynchroniczne, czy UDP.
Jedno jest ważne TCP/IP gwarantuje dostarczenie danych w odpowiedniej
kolejności lub wcale, a UDP nie gwarantuje nic ale przez to jest duzo
szybsze.
Ogólnie to zależy od sysstemu, łącza, odległości itp...
-
12. Data: 2012-02-20 12:56:37
Temat: Re: prosty kod sieciowy do gierki
Od: <k...@w...pl>
>> jak opakowac i odpakowac te pakiety
To się nazywa Enkapsulacja
http://pl.wikipedia.org/wiki/Enkapsulacja_%28sie%C4%
87%29
>> zwykle wysyla sie
>> (zwlaszcza w kontekscie gamedevu) pakiet o takiej samej
>> strukturze czy wysyla pakiety roznych typow ktore pozniej
>> trzeba 'odpakowac' po jakims typie?
To co wyślesz przez gniazda to są bajty.
Może to być rekord, klasa po serializacji, lub cokolwiek tylko chcesz.
-
13. Data: 2012-02-20 16:43:23
Temat: Re: prosty kod sieciowy do gierki
Od: " " <f...@g...pl>
<k...@w...pl> napisał(a):
> >> 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...
> >>
>
> No i mu namieszałeś, chcesz aby on wynajdował koło na nowo -> Implementacja
> Gniazd.
> Po co mu tłumaczysz jak działa stos sieciowy, o tym niech sobie doczyta.
>
> Do "" poczytaj o gniazdach surowych to podstawa do obecnej komunikacji
> sieciowej.
> musisz sam wymyśleć sobie protokół
>
>
> >> 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
> To zależy od prędkości i jakości sieci
> Ogólnie TCP/IP ma 0-1024 bajtów w pakiecie, ale tak naprawdę to on decyduje
> ile ma pakiet, jeżeli będzie za duży to zostanie podzielony.
>
> Jednocześnie gwarantuje że prześle dane lub zerwie transmisje.
>
>
>
> > 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?
>
> po co? W gniazdach robisz to Send i Recv i to koniec
>
> Send -> wysyłasz dane
> RecV -> odbierasz dane
>
> i tyutaj odgrywa rolę twój protokół ... end done
>
> Tutaj masz namiastkę opisu
> http://pjwstk.dyski.one.pl:81/public/ftp.pjwstk.edu.
pl/zsuski/zso/04-
Gniazda.pd
> f
>
> Jest jeszcze
> http://lubimyczytac.pl/ksiazka/122164/unix-programow
anie-uslug-sieciowych-
tom-1
> -api-gniazda-i-xti
> to chyba najlepsza pozycja ze szczegółami jak ma działać serwer i klient
jak
> rwie się połączenie.
> Linux - Windows nie wiele się różni.
>
>
> Ciiii
> http://peb.pl/informatyka/411135-rapidshare-unix-pro
gramowanie-uslug-
sieciowych
> .html
> tego nie podawałem
>
> >
> > jak czesto wysylac? czy 30 pakietow (stanow gry) na
> > sekunde to nie za duzo (jak to ustalic?)
> Prawdopodobnie doświadczalnie, ale myślę im mniej ruchu tym lepiej.
>
> > 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?
>
> A www się przepełnia?
>
> To zależy jak ustawisz gniazda, TCP/IP blokujące , nie blokujące -
> asynchroniczne, czy UDP.
> Jedno jest ważne TCP/IP gwarantuje dostarczenie danych w odpowiedniej
> kolejności lub wcale, a UDP nie gwarantuje nic ale przez to jest duzo
> szybsze.
>
> Ogólnie to zależy od sysstemu, łącza, odległości itp...
>
troche niedobrze ze te pakiety moga byc az tak drobione,
wolalbym miec gwarancje niedrobienia, wysylalbym odbieral
i sprawa bylaby jasna
troche poczytalem jak wspomnialem ale teraz mysle czy nie
zamknac tego tematu do nastepnego razu - bede potrzebowac
napisac i potestowac taki kod ale jeszcze nie teraz, poki
co mam inne wazniejsze tematy ktore i tak olewam
gdybym wygrzebał jakas zlotowke to moze bym sie kopsnal
po bitelke (tej syfiastej) koli... :-/ hm...
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
14. Data: 2012-02-21 07:26:02
Temat: Re: prosty kod sieciowy do gierki
Od: <k...@w...pl>
> troche niedobrze ze te pakiety moga byc az tak drobione,
> wolalbym miec gwarancje niedrobienia, wysylalbym odbieral
> i sprawa bylaby jasna
>
> troche poczytalem jak wspomnialem ale teraz mysle czy nie
> zamknac tego tematu do nastepnego razu - bede potrzebowac
> napisac i potestowac taki kod ale jeszcze nie teraz, poki
> co mam inne wazniejsze tematy ktore i tak olewam
Jeżeli nie potrzebujesz analizować pakietów, to w gniazdach o nich zapomnij
i tyle, bez szkody dla programu.
Jedynym twoim zmartwieniem to czy send wysłało i recv odebrało odpowiednia
ilość danych.
Przy dzisiejszych łączach wielkość pakietu nie ma aż tak wielkiego znaczenia
by się tym przejmować.
-
15. Data: 2012-02-21 07:35:14
Temat: Re: prosty kod sieciowy do gierki
Od: Adam Klobukowski <a...@g...com>
Dlatego prędkość nie jest tu najważniejszym czynnikiem, lecz opóźnienie, które przy
domyślnej konfiguracji ogromnej ilości routerów jest zależne między innymi od
wielkości pakietu, dlatego warto o to dbać.
AdamK
-
16. Data: 2012-02-21 07:43:35
Temat: Re: prosty kod sieciowy do gierki
Od: " " <f...@g...pl>
<k...@w...pl> napisał(a):
> > troche niedobrze ze te pakiety moga byc az tak drobione,
> > wolalbym miec gwarancje niedrobienia, wysylalbym odbieral
> > i sprawa bylaby jasna
> >
> > troche poczytalem jak wspomnialem ale teraz mysle czy nie
> > zamknac tego tematu do nastepnego razu - bede potrzebowac
> > napisac i potestowac taki kod ale jeszcze nie teraz, poki
> > co mam inne wazniejsze tematy ktore i tak olewam
>
> Jeżeli nie potrzebujesz analizować pakietów, to w gniazdach o nich zapomnij
> i tyle, bez szkody dla programu.
> Jedynym twoim zmartwieniem to czy send wysłało i recv odebrało odpowiednia
> ilość danych.
> Przy dzisiejszych łączach wielkość pakietu nie ma aż tak wielkiego
znaczenia
> by się tym przejmować.
>
glownie chyba zainteresowalbym sie udp tak ze mowie o udp
czy nie jest tak ze jesli wysle swoja 'paczke danych'
i ta podzieli sie na pare pakietow to
-) nie wiem czy udp sam robi 'skladanie' z pakietow do
paczki -
if(NO)
{
ja w zadne skladanie recznie nie chce sie bawic
sklonny jestem wysylac tylko pojedyncze pakiety
(wiec niedobrze jesli cos mi je moze ciac i wtedy nie
bedzie dzialac)
}
else
{
-) bedzie to wolniej bo czas dostarczenia paczki to bedzie
czas najwolnijszego pakietu
-) jak jakis sie zgubi to cala paczka nie dojdzie (a
prawdopodobienstwo tego rosnie z liczba pakietow)
}
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
17. Data: 2012-02-21 07:44:04
Temat: Re: prosty kod sieciowy do gierki
Od: <k...@w...pl>
Użytkownik "Adam Klobukowski" <a...@g...com> napisał w
wiadomości
news:17724908.3738.1329809714614.JavaMail.geo-discus
sion-forums@vbai14...
Dlatego prędkość nie jest tu najważniejszym czynnikiem, lecz opóźnienie,
które przy domyślnej konfiguracji ogromnej ilości routerów jest zależne
między innymi od wielkości pakietu, dlatego warto o to dbać.
Ależ Ja temu nie przeczę. Wątkotwórca nie określił środowiska w którym ma
program pracować.
-
18. Data: 2012-02-21 07:49:09
Temat: Re: prosty kod sieciowy do gierki
Od: " " <f...@g...pl>
<k...@w...pl> napisał(a):
>
> Użytkownik "Adam Klobukowski" <a...@g...com> napisał w
> wiadomości
> news:17724908.3738.1329809714614.JavaMail.geo-discus
sion-forums@vbai14...
> Dlatego prędkość nie jest tu najważniejszym czynnikiem, lecz opóźnienie,
> które przy domyślnej konfiguracji ogromnej ilości routerów jest zależne
> między innymi od wielkości pakietu, dlatego warto o to dbać.
>
> Ależ Ja temu nie przeczę. Wątkotwórca nie określił środowiska w którym ma
> program pracować.
>
jakiego srodowiska?
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
19. Data: 2012-02-21 13:31:10
Temat: Re: prosty kod sieciowy do gierki
Od: <k...@w...pl>
Użytkownik <f...@g...pl> napisał w wiadomości
news:jhvi9l$t6l$1@inews.gazeta.pl...
> <k...@w...pl> napisał(a):
>
>>
>> Użytkownik "Adam Klobukowski" <a...@g...com> napisał w
>> wiadomości
>> news:17724908.3738.1329809714614.JavaMail.geo-discus
sion-forums@vbai14...
>> Dlatego prędkość nie jest tu najważniejszym czynnikiem, lecz opóźnienie,
>> które przy domyślnej konfiguracji ogromnej ilości routerów jest zależne
>> między innymi od wielkości pakietu, dlatego warto o to dbać.
>>
>> Ależ Ja temu nie przeczę. Wątkotwórca nie określił środowiska w którym ma
>> program pracować.
>>
>
> jakiego srodowiska?
A określiłeś w czym piszesz(system, kompilator) ?Ja jakoś nie zauważyłem.
-
20. Data: 2012-02-21 13:48:36
Temat: Re: prosty kod sieciowy do gierki
Od: " " <f...@g...pl>
<k...@w...pl> napisał(a):
>
> Użytkownik <f...@g...pl> napisał w wiadomości
> news:jhvi9l$t6l$1@inews.gazeta.pl...
> > <k...@w...pl> napisał(a):
> >
> >>
> >> Użytkownik "Adam Klobukowski" <a...@g...com> napisał w
> >> wiadomości
> >> news:17724908.3738.1329809714614.JavaMail.geo-discus
sion-forums@vbai14...
> >> Dlatego prędkość nie jest tu najważniejszym czynnikiem, lecz opóźnienie,
> >> które przy domyślnej konfiguracji ogromnej ilości routerów jest zależne
> >> między innymi od wielkości pakietu, dlatego warto o to dbać.
> >>
> >> Ależ Ja temu nie przeczę. Wątkotwórca nie określił środowiska w którym ma
> >> program pracować.
> >>
> >
> > jakiego srodowiska?
> A określiłeś w czym piszesz(system, kompilator) ?Ja jakoś nie zauważyłem.
>
ogolnie to win-linux-mac-i-reszta a na poczatek to winda i winapi,
ale nie potrzebuje tego od razu pisac, tylko przymierzam sie do
tematu i chialbym poznac zasady jakie tu sie stosuje by taka
komunikacja sieciowa mozliwie dobrze dzialala,
stad szczegolowe pytania dotyczace udp i metody polegajacej
na bombardowaniu pojedynczymi pakietami (sama komuniacja
w stylu p2p - polaczenie typu 'rozmowa przez telefon', np
kumpel w toruniu podeje mi swoj ip, ja jemu swoj, wpisujemy
do 'okienka' w grze i zachodzi polaczenie - mam nadzieje
ze daloby sie tak to zrobic
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/