h1

Zadanie programistyczne : SKO.

Październik 25, 2006

2006-10-23 Pon Pierwsze zadanie programistyczne. Na realizację zadania dane są dwa tygodnie. Można uzyskać maksymalnie 4 punkty (10% punktów za ćwiczenia). Obowiązują zasady dotyczące plagiatów opisane w regulaminie. Na „Edu” można znaleźć informacje odnośnie pierwszego zadania programistycznego na przedmiot SKO.
Pierwsze zadanie programistyczne.
W tej chwili oglądając film z Matthewem Perrym (Chandler@Friends ;]) na TVP1 ( Triumf ) wertuję książkę od sieci w poszukiwaniu informacji o aplikacjach klient-serwer w Javie.
Nie rozumiem tylko jednego…. czemu nie TCP ?
Programowanie Socketów protokołu UDP. Streszcze Wam po krótce co i jak z programowaniem socketów w udp. Ofcourse nie ma tak fajnie że ja to wiem :) o nie :) po prostu przekażę Wam to czego się właśnie dowiedziałem (no i kilka oczywistych rzeczy dotyczacych UDP).
UDP to usługa „BEZPOŁĄCZENIOWA
co z tego ? a moze co to znaczy ? nie no nie bede opisywal protokołu UDP. UDP jest usługą bezpołączeniową czyli nie ma miejsca proces negocjowania podczas którego między dwoma procesami tworzony jest potok.
Co to jest potok ?
Podczas komunikowania się dwóch procesów za pośrednictwem protokołu TCP tworzy się między nimi coś i to coś przypomina potok. (dodam jeszcze ze potok istnieje do momentu usunięcia go przez jeden z procesów ). Co więcej o potoku ? (tak wiem i tak go nie ma w UDP ale warto wiedziec :] ) Oferuje on niezawodny kanał przesyłający strumień bajtów. Czyli to co dostaje serwer jest identczne ze tym co zostało wysłane przez klienta. (sekwencja startowa = sekwencja koncowa ).Ok no ale wróćmy do samego UDP. Jako że nie używamy potoków przesyłając jakąś sekwencję musimy w niej zawrzeć adres precesu odbiorczego. Co więcej musimy ją adresować dla każdej porcji bajtów wysłanych przez proces nadawczy. Analogia z taksówką : Jest grupa 20 osób. Wszyscy chcą się dostać do jednego miejsca przy życiu 5 taksówek. Po zajęciu miejsca w taksówce każdy kierowca musi być niezależnie zostac poinformowany o tym gdzie ma jechać. Protokół przypomina usługę oferującą taksówki.Adres docelowy składa się z adresu IP docelowego hosta i numeru portu procesu odbiorczego. Proste ? :) Teraz lecim dalej, pakiet to sekw encja bajtów uzupełniona o docelowy adres IP i numer portu. Jak już wspominałem wcześniej TCP oferuje nie-zawodny kanał dystrybucyjny że tak to nazwę a UDP nie. UDP oferuje model zawodnej usługi zorientowanej na komunikat która bardzo się stara dobrze przeniesc pakieciki ale nie koniecznie jej to wychodzi…Taksówka nie zawsze dojezdza do celu, czasem cos w silniku padnie, czasem stłuczka itd nie ma gwarancji dojechania do celu.
Teraz mały schemacik :
1. klient wczytuje z inputa dane a potem przesyla go socketem do serwera.
2.serwer pobiera dane z gniazda 3.serwer zmienia dane
4.serwer przesyla zmodyfikowane socketem dane do klienta
5.klient wczytuje swoim socketem zmodyfikowane dane i wyrzuca na output. prosta wymiana klient-serwer.
Naszym zadaniem jest Klient – > Proxy – > Serwer.
Czyli mamy do zrobienia 3 programy.

  • Klient – program kliencki – UDPClient.Java
  • Proxy – program klient/serwer – UDPProxy.Java
  • Serwer – program serwer – UDPServer.java

Czyli tak w sumie do zrobienia dwa programy bo proxy bedzie
połączeniem 1 i 3. Do wyboru dwa scenariusze.

  • klient – proxy – serwer – proxy – klient.
  • klient – serwer – klient.

Po odpaleniu programu (tryb tekstowy) program wczytuje sobie z pliku tekstowego klient.txt, proxy1.txt, proxy2.txt, … , serwer.txt. informacje o
adresie ip i numerze portu. Nazwa pliku ma byc argumentem programu takze nazwy niby dowolne ale w zadaniu kazali o tak. No i na
koniec tak zwana funkcjonalność :

  • [count] – ilosc wysłanych pakietów
  • [interval] – czas co jaki wysyłany jest kolejny pakiet od momentu
    przyjscia ostatniej odpowiedzi
  • [preload] – ilosc pakietów, jakie moga byc wysłane bez odpowiedzi
  • [pattern] – zawartosc (wzór) wysyłanego pakietu
  • [packetsize] – rozmiar wysyłanego pakietu no i tyle na dzis, narazie
    wiem mniej wiecej co i jak a że późno już a ja nawet coli nie mam to na dziś starczy…. do jutra :)

5 uwag

  1. Hi people! Great job!


  2. 20six co uk link oxycontin


  3. oxycontin withdrawal symptom


  4. Hey there I am so delighted I found your web site, I
    really found you by accident, while I was
    looking on Yahoo for something else, Nonetheless I
    am here now and would just like to say thank you
    for a tremendous post and a all round interesting blog (I also love the theme/design),
    I don’t have time to go through it all at the moment but I have bookmarked it and also included your
    RSS feeds, so when I have time I will be back to read much more,
    Please do keep up the fantastic b.


  5. I almost never drop comments, however after reading a few of the responses
    here Zadanie programistyczne : SKO. Arvind Juneja – Networking, Security, Project Management and projects.
    . I actually do have a couple of questions for you if it’s allright. Is it only me or does it give the impression like some of these comments appear like they are left by brain dead folks? :-P And, if you are writing at additional social sites, I would like to follow you. Would you make a list of all of all your social sites like your twitter feed, Facebook page or linkedin profile?

    Liam



Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: