Research and Development 1/^Archief/2009-2010/13/werkplaats/stukje verslag 2

Uit Werkplaats
Ga naar: navigatie, zoeken


Bagjoke.jpg

Research and Development 1

Patrick van Bommel
Sjaak Smetsers


 © comments



  • Property "Auteur1" (as page type) with input value "  Research and Development 1/^Archief/2009-2010/13Gebruiker:Ramon van Sparrentak" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
  • Property "Auteur2" (as page type) with input value "  Research and Development 1/^Archief/2009-2010/13Gebruiker:Dennis Brentjes" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
  • Property "Auteur3" (as page type) with input value "  Research and Development 1/^Archief/2009-2010/13Gebruiker:Frank van der Graaff" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
  • Property "Auteur4" (as page type) with input value "  Research and Development 1/^Archief/2009-2010/13" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
  • "Stukje" komt niet voor in de lijst (Logboek, Planning, Projectpagina, Pilot, Fase 1, Fase 2, Groepspagina, Feedback) met mogelijke waarden voor de eigenschap "Type".

Netwerk programming: the basics.


Natuurlijk is netwerk programming een issue als je een e-mail protocol maakt. Je moet immers een client met een server laten praten. En dit verkeer gaat niet zomaar. Dus het idee van netwerk programmeren is hoe ga ik makkelijk gegevens van hier naar daar brengen.


De programmeur van vandaag hoeft zich daar niet veel zorgen meer over te maken met de introductie van winsock. Dit is een soort van package voor de meeste programmeer talen er standaard bij zit. Deze maakt het mogelijk op 3 type sockets te maken die de basis vormen voor de communicatie tussen 2 computers. De programmeur hoeft nu alleen de beslissen welke type socket hij wil gaan gebruiken voor zijn programma.


  • Datagram sockets zijn sockets die packetjes data versturen en ontvangen maar door de aard van deze packetjes hoeven ze niet in de volgorde aan te komen dat je ze stuurt en ze hoeven niet altijd aan te komen. Dit betekend dat als je deze socket gebruikt je of data integriteit behoud of dat het verlies van 1 of 2 packetjes niet heel veel uitmaakt, Lees muziek of videostreams. Deze sockets gebruiken het UDP protocol waar de meeste wel eens van gehoord zullen hebben.


  • Steaming sockets zijn sockets die continue data versturen en waar gegarandeerd wordt door het TCP protocol dat er geen data verloren gaat, in theorie tenminste. Toch is deze socket wat dat betreft stabieler dan zijn datagram broertje.


  • Raw sockets zijn oude sockets die nu niet meer gebruikt kunnen worden door een hotfix van microsoft in een poging een lek in windows xp te dichten. We zullen ons dus niet verder uitweiden over deze socket.


Dus wat is het probleem geen data verlies en ook niet de moeite hoeven te nemen om dataintegrieit te garanderen, we kiezen streaming sockets. Nee niet helemaal de streaming sockets zijn namelijk veel trager dan zijn Datagram broertje en daarom minder interressant voor een server/client die veel informatie per minuut moet verwerken. Aan de andere kant allemaal controles uitvoeren over de data is natuurlijk ook niet prettig voor een server. Hier moet dus vooral naar gekeken worden in de implementatie, maar we kunnen hier denk ik weinig over zeggen aangezien onze server niet erg belast zal worden. in ieder geval niet zo erg als de gemiddelde SMTP-server.


Verder maakt het niet Heel erg veel uit welke programmeer taal we gaan gebruiken. We hebben nu kennis over c++ en genoeg java om onze kennis uittebreiden met tutorials. C++ lijkt wat technischer maar dat komt doordat er iets meer administratie bij komt kijken om een socket te maken en omdat we nog niet met klassen hebben gewerkt in onze cursus programmeren. Bij Java is met klassen werken verplicht en is dus veel intuitiever en makkelijker te bevatten door de aard van java dat iedere class een apart bestand is.


We denken nu dus ook dat we java gaan gebruiken als programmeer taal, maar dit staat nog niet vast aangezien we dit zullen merken in onze implementatie fase of dit een slimme keus was.


Bronnen:

[1]

[2]


en wat vinden we hier van
Dennis Brentjes.jpg
Dennis BrentjesResearch and Development 1 Remove this comment when resolved!