JAVA -- H111 Socket (of communicatiekanaal): UNIX-term voor de communicatie tussen processen -> uitwisseling van gegevens -> meerdere machines bv. client.

Slides:



Advertisements
Verwante presentaties
Tevens elke bedrijfsPC direct op het internet niet erg veilig
Advertisements

Netwerken soorten verbindingen protocollen soorten signalen
EEN INTRODUCTIE. Wat is een firewall?  Een firewall is een systeem of een groep van systemen dat zorgt voor de beveiliging van je intranet (of intern.
Blok 7: netwerken Les 7 Christian Bokhove.
Netwerken. Wat is een netwerk? Je spreekt van een netwerk van zodra twee of meer computers met elkaar verbonden zijn. Je kan thuis een klein netwerkje.
Internet College 2 Architecturen. Architectuur van netwerktoepassingen •Peer to peer –Windows werkgroep •File- en printer sharing •Internet connection.
Stateful web, developments, trends 1 Webtechnologie Lennart Herlaar.
Internet College 1 Architecturen.
Vervolg theorie Orientatie voor de nieuwe opdracht.
Access en MySql Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Programmeren in Java met BlueJ
Inleiding Internetwerking Telecommunicatie Information management 2 Groep T Leuven – Information department 2/7 Doelstellingen De student.
Cloud Computing woensdag 20 november Wat is Cloud Computing ? Cloud Computing.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
... M A K E Y O U R N E T W O R K S M A R T E R IP-Adres instellen ppt_aa1_p10_ip_addressing_v4.1_nl_0508.
Blok 7: netwerken Les 8 Christian Bokhove.
ICT Infrastructuur.
Computernetwerken Deel 2
TCP/IP Fundamentals 7 december 2001 Internet Society, Zoetermeer Iljitsch van Beijnum Copyright 2001 Iljitsch van Beijnum Er zijn onderdelen.
Internet altijd en overal: de GigaPort GPRS-pilot Klaas Wierenga Innovatie Manager 10 oktober 2000.
Faculteit Ingenieurswetenschappen & Wetenschappen Software Engineering Publicatie Management Systeem Groep se1 Software Engineering Thierry Coppens.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Hoofdstuk 5: Bestanden.
Hoofdstuk 6: Controle structuren
PLDA – Connectiviteit Rudolf de Schipper Geoffroy Fauveaux 09/11/2004.
Network Address Translation
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 8(2): Multi-processing.
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
WinFX Overview Martin Tirion Senior Consultant Microsoft Services.
3.6 Architecture of HIS. 3.7 Integrity & Integration within HIS Suraja Padarath /10/2007.
Real-Time Systems (RTSYST) Week IPC inter process communication Shared variabele based (H5) Message based (H6) Kan ook gebruikt worden in systemen.
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Bluetooth Communicatie tussen computer en Brick Computer zet de connectie op, Brick wacht Enkel communicatie van de Brick naar de computer Lejos API: NXTConnecion.
JAVA -- H81 Exception: ongewone of foutieve situatie->prog. mislukt kan onderschept en afgehandeld worden. = een object van de klasse Throwable, gegenereerd.
Checked exceptions: FileNotFoundException, IOException, …
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Computernetwerken Academiejaar de Bachelor INF/ICT – Schakelprogramma INF Wim Lamotte.
Meerdere platforms over hetzelfde netwerk: DOS Windows 3.X & 9X NT ‘Office’ applicaties; administratie; gekoppeld aan apparatuur Verschillende Microsoft.
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
Visual Basic.Net - Overzicht
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
Netwerken / Internet ICT Infrastructuren David N. Jansen.
Geheugen, distributie en netwerken Netwerken: de basis voor distributie van gegevens en taken (processen) –bestaan zo’n 40 jaar, zeer snelle ontwikkeling.
De PROFIBUS, PROFINET & IO-Link dag 2011 Share our Vision for Automation.
Informatica Blok 1 Hoofdstuk 2
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
Hoofdstuk 13.6 File-I/O. Files n40 verschillende klassen in library java.io Exceptions niet meegeteld... nMethodes voor het plegen van Input en Output.
Contributie van videomateriaal voor broadcast Klaas-Pieter Looren de Jong.
Web Applicaties Bouwen met Visual Studio .NET
hcc!pc Werkgroep netwerken
1Security Technology PICT les 1 ICT Techniek - les 7 - onderwerpen Operating Systems n Waarom een OS? n Soorten n Taken n Opbouw n Processen.
Netwerken (2) Informatica.
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
K. U. L E U V E N - L U D I T Agenda LinSam 29/03/ u u30 : Legaal werken met RH ES. (Werner M.) 14u u45 : Installatie RH ES. (Wim M.)
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols Network Fundamentals.
Socket Programming Berkeley Sockets & WinSock 2
Datacommunicatie en netwerken
Netwerken 4 Enigma Netwerken paragraaf 7. Het internet  netwerk van netwerken Hosts (computers) Netwerken (met oa. switches) Verbindingen Hosts (routers)
Netwerken 5 Enigma Netwerken paragraaf 8. Transportlaag Netwerklaag (IP-protocol) Best-effort pakketcommunicatie Transportlaag (UDP- en TCP-protocol)
Netwerken 6 Enigma Netwerken paragraaf 9. Applicatielaag End-to-end principe De infrastructuur (het internet) staat los van de toepassingen Makkelijk.
Internet Protocol version 4
M5 Datacommunicatie Applicatielaag
M5 Datacommunicatie Transportlaag
Netwerken soorten verbindingen protocollen soorten signalen
M5 Datacommunicatie Netwerklaag
Netwerken & Internet 3.
Transcript van de presentatie:

JAVA -- H111 Socket (of communicatiekanaal): UNIX-term voor de communicatie tussen processen -> uitwisseling van gegevens -> meerdere machines bv. client - server identificatie via socket-descriptor(tvgl. met een file-descriptor) 3 stappen (per socket): Openen Lezen en/of schrijven Sluiten NETWERKTOEPASSINGEN-communicatie 1. Communicatie Client-Server 2. Datagrammen UDP Client-server Broadcasting

JAVA -- H112 TCP/IP (Transmission Control Protocol en Internet Protocol) : een technologie voor het connecteren van niet-compatibele systemen (alles met alles) verbinding is connectie-georiënteerd (tvgl. met een telefoonlijn) end-to-end communicatie grote betrouwbaarheid : we krijgen telkens een bevestiging, dat de server de data ontvangen heeft ( datagrammen (UDP)) NETWERKTOEPASSINGEN

JAVA -- H113 Client-Server beschouwen als toepassingen, niet als machines! Server-programma bevat een ServerSocket per socket: koppeling aan specifiek poortnummer gereserveerde poortnummers: 21  FTP 20  Telnet 80  HTTP eigen poortnummer « definiëren » : > 1023 NETWERKTOEPASSINGEN 1. Communicatie Client-Server 2. Datagrammen UDP Client-server Broadcasting

JAVA -- H114 Client-Server werkwijze : server luistert aan een poort (wacht passief op contact)  ServerSocket myService = new ServerSocket(poortNummer); client doet aanvraag voor connectie (de client- toepassing start de communicatie actief)  Socket myClient= new Socket( “Servernaam”, poortNummer); NETWERKTOEPASSINGEN

JAVA -- H115 server aanvaardt connectie Socket clientSocket = null;  clientSocket = myService.accept(); Client-Server programmeren in Java: package: java.net Socket: communicatie in twee richtingen ServerSocket: gebruikt door server NETWERKTOEPASSINGEN

JAVA -- H116 Stramien: openen socket(s) openen input-outputstream lezen-schrijven sluiten van streams sluiten van socket(s) MERK OP: expliciete exception afhandeling is noodzakelijk bij elke stap NETWERKTOEPASSINGEN

JAVA -- H117 NETWERKTOEPASSINGEN-SERVER SINGLE-THREADED SERVER: 1) ServerSocket x = new ServerSocket(4444); // om te luisteren 2) Socket clientS = x.accept(); // voor de communicatie 3) in = new DataInputStream(new BufferedInputStream(clientS.getInputStream()); 4) out = new PrintStream(new BufferedOutputStream( clientS.getOutputStream(),1024),false); 5) lus die uitgevoerd wordt, zolang de client en de server iets tegen elkaar te zeggen hebben: String fromUser, fromServer; while ((fromUser = in.readLine())!=null) { fromServer = protocol.inputVerw(fromUser); out.println(fromServer); } 6) x.close(); clientS.close(); in.close(); out.close();

JAVA -- H118 NETWERKTOEPASSINGEN-CLIENT CLIENT 1) Socket s = new Socket(“localhost”,4444); // voor de communicatie 2) in = new DataInputStream(clientS.getInputStream()); 3) out = new PrintStream(clientS.getOutputStream()); 4) lus: String fromServer, fromUser; while ((fromServer = in.readLine())!=null) { System.out.println(“Server:” + fromServer); fromUser = stdIn.readLine(); out.println(fromUser); } 5) s.close(); in.close(); out.close();

JAVA -- H119 NETWERKTOEPASSINGEN-datagrammen 1. Communicatie Client-Server 2. Datagrammen UDP Client-server Broadcasting UDP (Unreliable Datagram Protocol): « low-level networking » = simple network communication gebruikt pakketten: verbindingsloos Nadeel: minder betrouwbaar, geen garantie dat de pakketten de eindbestemming bereiken ( = de post ) Voordeel: geen setup, geen clear van de connectie, dus vlug!

JAVA -- H1110 NETWERKTOEPASSINGEN-datagrammen 1. Communicatie Client-Server 2. Datagrammen UDP Client-server Broadcasting Datagrammen: Nieuwe klassen nodig: DatagramPacket  constructor met 4 parameters: data, de lengte van de data, de host waarnaar je zend, het poortnr  contructor met 2 parameters: de data en de lengte DatagramSocket : met of zonder poortnr InetAddress : internet-adres van de host

JAVA -- H1111 NETWERKTOEPASSINGEN - server ontvangt SERVER ONTVANGT: 1) DatagramSocket s = new DatagramSocket(4445); // om te luisteren én pakketten te ontvangen 2) byte[] buf = new byte[256]; // als er iemand een pakket stuurt, die te groot is volgens // deze buffer, dan wordt de overschot vernietigd 3) DatagramPacket rpacket = new DatagramPacket(buf,buf.length); 4) s.receive(rpacket); 5) uitpakken: String r = new String(rpacket.getData());

JAVA -- H1112 NETWERKTOEPASSINGEN - server ontvangt int l = rpacket.getLength(); String h = rpacket.getAddress().getHostName(); InetAddress adres = rpacket.getAddress(); int poort = rpacket.getPort(); // als het pakket leeg is, dan hebben we toch heel wat // informatie over het afzendadres -> zo kunnen we dan // naar deze user pakketten sturen

JAVA -- H1113 NETWERKTOEPASSINGEN – server zendt SERVER ZENDT met dezelfde socket: 1) String eenString = “dit is een eerste pakket”; buf = eenString.getBytes(); 2) DatagramPacket spacket = new DatagramPacket(buf,buf.length,adres,poort); 3) s.send(spacket); 4) s.close();

JAVA -- H1114 NETWERKTOEPASSINGEN – client zendt CLIENT ZENDT: 1) String eenString = “dit is een tweede pakket”; byte [] message = eenString.getBytes(); 2) InetAddress adres = InetAddress.getByName(host); // het internet-adres van de host die bv. als programma- parameter is meegegeven (args[0]) 3) DatagramPacket zpacket = new DatagramPacket(message,message.length,adres,4445); 4) DatagramSocket s = new DatagramSocket(); 5) s.send(zpacket);

JAVA -- H1115 NETWERKTOEPASSINGEN – client ontvangt CLIENT ONTVANGT met dezelfde socket: 1) byte[] buf = new byte[256]; 2) DatagramPacket rpacket = new DatagramPacket(buf,buf.length); 3) s.receive(rpacket); 4) uitpakken: String r = new String(rpacket.getData()); 5) s.close();

JAVA -- H1116 NETWERKTOEPASSINGEN – broadcasting 1. Communicatie Client-Server 2. Datagrammen UDP Client-server Broadcasting Broadcasting betekent : op één netwerk alle clients hetzelfde bericht sturen Werken met MulticastSockets is een bijzondere vorm van broadcasting: enkel de clients die ingeschreven zijn bij een bepaalde groep, krijgen het bericht! (vb. Een film sturen naar 100 gebruikers : Films, software on demand)

JAVA -- H1117 NETWERKTOEPASSINGEN – client ontvangt MulticastSocket socket = new MulticastSocket(4446); InetAddress address = InetAddress.getByName(" "); // multicast : socket.joinGroup(address); DatagramPacket packet; for (int i = 0; i < 5; i++) { byte[] buf = new byte[256]; rpacket = new DatagramPacket(buf, buf.length); socket.receive(rpacket);

JAVA -- H1118 NETWERKTOEPASSINGEN – client ontvangt String received = new String(rpacket.getData()); System.out.println("Quote of the Moment: " + received); }// einde for-lus socket.leaveGroup(address); socket.close(); }

JAVA -- H1119 NETWERKTOEPASSINGEN – server zendt DatagramSocket s = new DatagramSocket(4446); InetAddress group = InetAddress.getByName(" "); while (moreData) { byte[] buf = new byte[256]; String x = getNextData(); buf = x.getBytes(); DatagramPacket spacket = new DatagramPacket(buf, buf.length, group, 4446); s.send(spacket); } s.close();