Krzy100f Opublikowano 10 Marca 2013 Udostępnij Opublikowano 10 Marca 2013 Witam. Ostatniego czasu piszę gierki w Javie i postanowiłem spróbować stworzyć gierkę multi(online). Dowiedziałem się że korzysta się z dwóch rodzajów protokołów UDP i TCP. I teraz pytanie, którego użyć do których rzeczy ? Pytałem na innych forum dostałem dużo informacji jak działają ale jak to wykorzystać w grach ? Więc dlatego zwracam sie do was ;). Z góry dziękuję Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 10 Marca 2013 Udostępnij Opublikowano 10 Marca 2013 TCP zawsze dociera do odbiorcy, więc używasz go do przesyłu ważnych danych, UDP nie zawsze, ale za to jest szybsze, więc używasz do danych które są przesyłane co co chwilę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Krzy100f Opublikowano 10 Marca 2013 Autor Udostępnij Opublikowano 10 Marca 2013 To wiem, ale bardziej mi by chodziło o przykłady. Podobno TCP działa do 5GHz, więc on może zastąpić większość elementów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 10 Marca 2013 Udostępnij Opublikowano 10 Marca 2013 Lol "działa do 5 Ghz" ? Przykłady, TCP łączenie, UDP przesyłanie pozycji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Krzy100f Opublikowano 10 Marca 2013 Autor Udostępnij Opublikowano 10 Marca 2013 Takie dostałem informacje XD(pewnie błędne). W każdym razie, przykłady! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 10 Marca 2013 Udostępnij Opublikowano 10 Marca 2013 Podobno TCP działa do 5GHz co? TCP zawsze dociera, ale może dotrzeć w kawałkach, zawsze w dobrej kolejności. Np. wysyłasz 'Hello World!' oraz 'Siema' Może dotrzeć tak: 'Hell' 'o Wor' 'ld!Sie' 'ma' Spowodowane jest to tym, że dane w TCP przesyłane są strumieniami. Aby temu zapobiec zazwyczaj dopisuje się na początku długość wiadomości (najczęściej 4 bajtowy int) i łączy je u odbiorcy. UDP jest szybki, ale pakiet możne nie dotrzeć wcale lub w innej kolejności. Pakiet zawsze dociera w całości więc nie występuje "dzielenie" pakietu tak jak w przypadku TCP gdyż tutaj dane są wysyłane datagramami. Wysyłasz 'Hello World!', 'Siema' oraz 'Witam'. Wiadomość może dojść tak: 'Siema' 'Witam' 'Hello World!'. @EDIT A no i w przypadku 39dll bodajże nie trzeba się przejmować dzieleniem wiadomości w TCP. Jeśli się mylę to poprawcie mnie. @EDIT2 Przykłady? Google: java socket tutorial. @EDIT3 No i nie zapominaj, że jak chcesz UDP to u klienta muszą być odblokowane porty. Jeżeli to nie wchodzi w grę to użyj UDP Hole Punching. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Krzy100f Opublikowano 10 Marca 2013 Autor Udostępnij Opublikowano 10 Marca 2013 Przykłady wykorzystania , czyli np. który do czego można wykorzystać. Nie chodzi o kod =.=. A zasadę ich działania doskonale rozumiem(póki co), Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 10 Marca 2013 Udostępnij Opublikowano 10 Marca 2013 Tcp do rzeczy które są stosunkowo rzadko wysyłane i muszą dotrzeć, np. chat. Udp do rzeczy które są wysyłane często i utrata jednego nie wpłynie na rozgrywkę (można je zignorować) np. pozycja gracza. Należy przy tym pamiętać, aby numerować pakiety. Jeśli stara pozycja przyjdzie później niż aktualna to należy ją zignorować. Jak piszesz shootera to oczywiście najlepiej użyć obu. Do rozgrywek partyjnych typu kólko i krzyżyk, statki, szachy wystarczy TCP. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Floodnik Opublikowano 10 Marca 2013 Udostępnij Opublikowano 10 Marca 2013 A zasadę ich działania doskonale rozumiem(póki co), Wygląda na to, że jednak nie - gdybyś doskonale rozumiał zasadę ich działania, nie zadawałbyś powyższych pytań. ;) Ja Ci powiem jedno - to jest Twoja decyzja! Ty tworzysz grę, Ty wybierasz. Możesz oczywiście żywcem skopiować czyjąś pracę ale w ten sposób wstrzymujesz swój rozwój, nic kreatywnego nie zrobisz. Jeśli wiesz, jak działają TCP/UDP, to pomyśl, do jakich czynności zastosować jedno, a do jakich drugie. I zrób tak, a jeśli po testach uznasz, że lepiej byłoby inaczej, zrób inaczej :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się