10 Kommunikation i Java

Storlek: px
Starta visningen från sidan:

Download "10 Kommunikation i Java"

Transkript

1 10 Kommunikation i Java adresser filaccess över nätverk ar och sockets datagram multicasting client-server Skansholm kap 18 Adressering En URL (=Uniform Resource Locator) identifierar en resurs på WWW protokoll://adress:/filnamn En IP-adress identifierar en dator på Internet I textform som ovan eller som en följd av bytes 1 2 Java-klasser för Adressering java.net.url java.net.url för hantering av URL-objekt new URL(String adress) URLConnection openconnection() skapar ett URL-objekt av adress öppnar en förbindelse java.net.urlconnection för hantering av resurser som refereras av URL-objekt String getprotocol() String gethost() String getport() ger protokollet ger datoradressen ger numret java.net.inetaddress för hantering av IP-adresser String getfile() ger filnamnet 3 4 java.net.urlconnection InputStream getinputstream() OutputStream getoutputstream() Object getcontent() int getcontentlength() String getcontenttype() long getdate() long getlastmodified() ger en inström som läser från den öppna förbindelsen ger en utström som skriver på den öppna förbindelsen ger objekt från strömmen ger resursens (filens) längd ger resursens typ ger tidpunkt för resursens skapelse ger tidpunkt för senaste ändring Ex. Läsning av fil try { URL url = new URL( ); URLConnection uc = url.openconnection(); catch (MalformedURLException e) {... catch (IOException e) {... try { BufferedReader in = new BufferedReader( new InputStreamReader(uc.getInputStream())); String line; while ( (line = in.readline())!= null ) System.out.println(line); catch (IOException e) {

2 Portar och sockets Portar och sockets En är en logisk anslutningspunkt till en tjänst som tillhandahålls av en dator. En socket är en kommunikationskanal mellan ett program och omgivningen genom en. Program Portnumrering Portnummer: är standardiserade, resten kan användas fritt 80 http-kommunikation 21 ftp-kommunikation Program socket 7 8 Datagram Datagram Ett datagram är ett datapaket som innehåller data som skall överföras ( nyttolast ) mottagardatorns IP-adress numret för mottagartjänsten Datagram kan komma fram i godtycklig ordning Ingen leveransgaranti Sändare Datagrampaket data IP-adress: Mottagare data java.net.inetaddress java.net.datagramsocket InetAddress getlocalhost() InetAddress getbyname(string hostname) String gethostname() ger adressen till den egna datorn ger adressen till datorn hostname (namnet symboliskt eller IP i textform) ger namnet på den egna datorn new DatagramSocket(int ) new DatagramSocket() send(datagrampacket p) receive(datagrampacket p) skapar en socket genom en skapar en socket genom en ledig sänder datagrammet p från denna socket tar emot datagrammet p från denna socket String gethostaddress() Symboliskt namn IP i textform ger IP-adressen i textform till den egna datorn setsotimeout(long t) int getlocalport() anger att receive skall vänta högst t ms vid timeout kastas SocketTimeoutException ger numret på den lokala en som denna socket är bunden till 11 12

3 java.net.datagrampacket new DatagramPacket(byte[] buf, int len, InetAddress iaddr, int ) new DatagramPacket(byte[] buf, int len) byte[] getdata() int getlength() InetAddress getaddress() int getport() skapar ett datagrampaket för sändning av len bytes i buf till på iaddr skapar ett datagrampaket för mottagning av max len bytes i buf (len <= buf.length) ger en referens till paketets databuffert ger längden på paketets datainnehåll ger adressen till avsändaren (vid mottagning) ger adressen till mottagaren (vid sändning) ger numret till avsändaren (vid mottagning) ger numret till mottagaren (vid sändning) Exempel: Skicka och ta emot datagram Programmet SendMessage läser text från tangtentbordet och skickar varje rad som datagram till IP-adressen på 1234 Programmet ReceiveMessage hämtar datagram från 1234 och skriver ut dem i konsolfönstret är en s.k. loop-back-adress som lämpar sig för testning lokalt innanför brandvägg SendMessage.java im java.net.*; im java.io.*; class SendMessage { public static void main( String[] arg ) throws UnknownHostException, SocketException, IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); InetAddress toaddr = InetAddress.getByName(arg[ 0 ]); int toport = Integer.parseInt(arg[ 1 ]); DatagramSocket socket = new DatagramSocket(); System.out.print("? "); String message = in.readline(); if (message == null) break; byte[] data = message.getbytes(); socket.send(new DatagramPacket(data, data.length, toaddr, toport)); exekvering > java SendMessage ReceiveMessage.java im java.net.*; im java.io.*; class ReceiveMessage { public static void main(string[] arg) throws SocketException, IOException { int receiveport = Integer.parseInt(arg[ 0 ]); DatagramSocket socket = new DatagramSocket(receivePort); byte[] data = new byte[1024]; DatagramPacket packet = new DatagramPacket(data, data.length); socket.receive(packet); System.out.println("Message from " + packet.getaddress().gethostname()); String message = new String(packet.getData(), 0, packet.getlength()); System.out.println(message); exekvering > java ReceiveMessage Multicasting multicasting: ett datagram skickas till alla medlemmar i en grupp (1:N) sändaren kan själv ingå i gruppen som får datagrammet fiktiva (klass D) IP-adresser mellan och används för adressering för multicasting används MulticastSocket Multicasting 17 18

4 java.net.multicastsocket new MulticastSocket(int ) send(datagrampacket p) receive(datagrampacket p) joingroup(inetaddress iaddr) leavegroup(inetaddress iaddr) skapar en multicast-socket genom en sänder datagrammet p från denna socket tar emot datagrammet p från denna socket Ansluter denna socket till multicast-gruppen på adressen iaddr Kopplar bort denna socket från multicast-gruppen på adressen iaddr Exempel: Skicka ett Multicast-datagram MulticastSocket sock = new MulticastSocket(); iaddr = InetAddress.getByName(); sock.joingroup(iaddr); Anslut till gruppen Skicka datagrammet DatagramPacket p = new DatagramPacket(data,data.length,iAddr,); sock.send(p); Lämna gruppen sock.leavegroup(iaddr); Client-server Client-Server Uppkopplad förbindelse mellan två program Dataflöde mellan två parter Adressering ej nödvändig vid varje överföring Server java.net.socket java.net.serversocket new Socket(InetAddress iaddr, int ) InputStream getinputstream() OutPutStream getoutputstream() InetAddress getinetaddress() ansluter till en på servern på iaddr ger en ström för hämtning av data från den andra datorn ger en ström för sändning av data till den andra datorn ger adressen som denna socket är ansluten till new ServerSocket(int ) Socket accept() ger en socket för lyssning på en väntar på att klient ansluter sig ger tillbaks klientens socket ServerSocket servsocket = new ServerSocket(1234); // wait for a client to connect Socket clientsocket = servsocket.accept(); new clienthandler(clientsocket); Exekverar klienthanteringen i en tråd 23 24

5 Exempel: Väderstation re temperatures SensorClient SensorClient sensorport displayport WeatherServer request values send back values database 25

F8 Meddelandesändning med UDP

F8 Meddelandesändning med UDP F8 Meddelandesändning med UDP EDA0965 Nätverksprogrammering Per Andersson Datavetenskap Lunds universitet Transport Layer Bygger vidare på Internet Layer / IP. Applikationsprogram Transportlagret Internetlagret

Läs mer

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP F9 Meddelandesändning med UDP EDA095 Roger Henriksson Datavetenskap Lunds universitet Transport Layer Transport Layer Bygger vidare på på "Internet Internet Layer" Layer / IP. / IP. Applikationsprogram

Läs mer

F1 Nätverk och meddelandesändning

F1 Nätverk och meddelandesändning F1 Nätverk och meddelandesändning med UDP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Nätverksprogrammering Tekniker för att skriva program som kommunicerar med varandra

Läs mer

F1 Nätverk och meddelandesändning

F1 Nätverk och meddelandesändning F1 Nätverk och meddelandesändning med UDP EDA095 Roger Henriksson Datavetenskap Lunds universitet Tekniker för att skriva program som kommunicerar med varandra över ett nätverk. Särskild tonvikt på Internet/IP-baserade

Läs mer

F9 Meddelandesändning med UDP

F9 Meddelandesändning med UDP F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Transport Layer Bygger vidare på Internet Layer / IP. Applikationsprogram Transportlagret Internetlagret

Läs mer

F1 Nätverk och meddelandesändning

F1 Nätverk och meddelandesändning F1 Nätverk och meddelandesändning med UDP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Nätverksprogrammering Tekniker för att skriva program som kommunicerar med varandra

Läs mer

Hämta data mha URLer Föreläsning 2b. Innehåll Klassen URL

Hämta data mha URLer Föreläsning 2b. Innehåll Klassen URL Hämta data mha Föreläsning 2b För För mer mer info info se se tex texharold, Hall Halleller Tut Tut (den (den senare senare är är ganska ganska rättfram). Innehåll Klassen URL Arbeta med, exempel Hur hittar

Läs mer

Föreläsning 11 Aktiva objekt och trådar, strömmar, kommunikation DAT043,

Föreläsning 11 Aktiva objekt och trådar, strömmar, kommunikation DAT043, Föreläsning 11 Aktiva objekt och trådar, strömmar, kommunikation DAT043, 2017-02-20 Aktiva objekt och trådar Multitasking, parallella program Vanliga datorer har kunna köra flera program skenbart samtidigt

Läs mer

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013 DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013 Innehåll Trådar i Java swing- klassen Timer Klient-Server-program Trådar Tråd = enkel process Ett program kan ha flera trådar, flera

Läs mer

Föreläsning 5 Meddelandesändning med TCP

Föreläsning 5 Meddelandesändning med TCP Föreläsning 5 Meddelandesändning med TCP EDA095 Nätverksprogrammering Per Andersson Datavetenskap Lunds universitet Transmission Control Protocol TCP En del av transportlagret. Applikationsprogram Transportlagret

Läs mer

F5 Meddelandesändning med TCP

F5 Meddelandesändning med TCP F5 Meddelandesändning med TCP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Transmission Control Protocol TCP En del av transportlagret. Applikationsprogram Transportlagret

Läs mer

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/4 2014 Innehåll Kort om Javas Exceptions Trådar i Java swing- klassen Timer Klient-Server-program Javas Exceptions Checked måste hanteras,

Läs mer

Java och nätverk Läsanvisningar Skansholm (med Swing) kapitel 18 Budd kapitel 22

Java och nätverk Läsanvisningar Skansholm (med Swing) kapitel 18 Budd kapitel 22 Java och nätverk Läsanvisningar Skansholm (med Swing) kapitel 18 Budd kapitel 22 1 Dagens ämnen Introduktion till nätverksprogrammering i Java TCP/IP Portar, sockets, strömmar Exempel: multitrådad bank-server

Läs mer

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13 LUNDS TEKNISKA HÖGSKOLA Datavetenskap Nätverksprogrammering 2004 LÖSNINGAR Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13 DEL 1 - Frågor av teoretisk, principiell eller utredande

Läs mer

F2 Java I/O - strömmar Meddelandesändning med TCP

F2 Java I/O - strömmar Meddelandesändning med TCP F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Java I/O Strömmar och filer Ström (eng. Stream) En ström är en sekvensiell

Läs mer

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets Surfning Webbklienter och webbservrar Starta Firefox (eller Opera, eller Internet Explorer, eller... ). Skriv en URL i adressfältet: http://www.w3.org/history/1989/proposal.html. Webbläsaren kopplar upp

Läs mer

Föreläsning 5 Meddelandesändning med TCP

Föreläsning 5 Meddelandesändning med TCP Transmission Control Protocol TCP Föreläsning 5 Meddelandesändning med TCP EDA095 Per Andersson Datavetenskap Lunds universitet En del av transportlagret. Applikationsprogram Applikationsprotokoll Applikationsprogram

Läs mer

Översikt. Skriva och läsa data. Kontrollflöde. Två sorters loopar. For-loop. For-loop

Översikt. Skriva och läsa data. Kontrollflöde. Två sorters loopar. For-loop. For-loop Översikt Repetition for-loopar Skriva till och läsa från filer Strömmar Eclipse Hur anpassa till vad du gillar? Skriva och läsa data Institutionen för datavetenskap Programmering 1 Rita Kovordányi 2 Kontrollflöde

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2012 05 28, 8.00 13.00 Del 1 1. Time To Live (TTL) anger hur många routrar ett multicastpaket

Läs mer

F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Nätverksprogrammering

F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Nätverksprogrammering Java I/O Strömmar och filer F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Roger Henriksson Datavetenskap Lunds universitet Ström (eng. Stream) En ström är en sekvensiell följd av bytes (tecken).

Läs mer

Datakommunikation och Internet

Datakommunikation och Internet Datakommunikation och Internet Socketprogrammering Peter Sundqvist Socket-programmering Klient/server ansatsen TCP/IP protokollgrafen Java-programering UDP TCP Korta tips om Strömmar Script Trådar (föreläsning

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2014 06 02, 8.00 13.00 Del 1 1. a) TCP (Transmission Control Protocol) och UDP (User Datagram

Läs mer

JAVAUTVECKLING LEKTION 7

JAVAUTVECKLING LEKTION 7 JAVAUTVECKLING LEKTION 7 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Olika språkversioner (Klassen Locale) Utskrift i kommandofönster Inläsning via kommandofönster Standardklassen

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015 Objektorienterad Programkonstruktion Föreläsning 10 7 dec 2015 Nätverksprotokoll - OSI Open Systems Interconnection model (ISO standard) definierar 7 lager för nätverkskommunikation: 1 - Physical Layer:

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2016 05 31, 8.00 13.00 Del 1 1. a) Vid multicast skickas ett datagram från en sändande dator

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2018 03 14, 8.00 13.00 Del 1 1. Applikationslagret levererar data mellan applikationer och till

Läs mer

Lösningar för tenta 2 DAT043,

Lösningar för tenta 2 DAT043, Lösningar för tenta 2 DAT043, 2018-06-08. Uppgift 1 public class Car{ private String model; private String year; private double price; public Car(String model, String year, double price){ this.model =

Läs mer

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. 1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.

Läs mer

Tentamensskrivning Nätverksprogrammering (EDA095) , kl 8-13

Tentamensskrivning Nätverksprogrammering (EDA095) , kl 8-13 LUNDS TEKNISKA HÖGSKOLA Datavetenskap Nätverksprogrammering 2006 LÖSNINGAR Tentamensskrivning Nätverksprogrammering (EDA095) 2004-05-27, kl 8-13 DEL 1 - Frågor av teoretisk, principiell eller utredande

Läs mer

Javaprogrammering - Del 3. Trådar. Trådexempel. Trådar Databaskoppling, Exempel för Inl2 Java och nätverk. multitasking. multithreading.

Javaprogrammering - Del 3. Trådar. Trådexempel. Trådar Databaskoppling, Exempel för Inl2 Java och nätverk. multitasking. multithreading. Javaprogrammering - Del 3 Trådar Databaskoppling, Exempel för Inl2 Java och nätverk 1 Trådar multitasking tidsdelning mellan flera exekeverande program multithreading tidsdelning mellan delar av samma

Läs mer

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i

Läs mer

Socket-programmering. Programmering för distribution. Klient/server ansatsen. Klient/server ansatsen TCP/IP protokollgrafen Java-programering

Socket-programmering. Programmering för distribution. Klient/server ansatsen. Klient/server ansatsen TCP/IP protokollgrafen Java-programering Socket-programmering Klient/server ansatsen / protokollgrafen Java-programering o o o Fler än en klient Riktiga servrar Programmering för distribution Varför datornät? o För att distribuera beräkningar

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2009 06 01, 14.00 19.00 1. a) Falskt b) Sant c) Sant d) Falskt e) Falskt f) Sant g) Sant h) Falskt

Läs mer

Föreläsning 1. På klientsidan... Allmänt. På serversidan... Och dessutom... DD1389 Internetprogrammering 6 hp

Föreläsning 1. På klientsidan... Allmänt. På serversidan... Och dessutom... DD1389 Internetprogrammering 6 hp Föreläsning 1 DD1389 Internetprogrammering 6 hp Kursintroduktion Lärare: Vahid Mosavat, vahid@kth.se Kursaktivitet: föreläsningar, laborationer Kursmaterial: labbinstruktioner, föreläsningsanteckningar

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2015 06 04, 14.00 19.00 Del 1 1. 1) Begäran anländer till webbservern. 2) Om det är första gången

Läs mer

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker

Läs mer

Innehåll. Socketar. Klient och serverprogrammering: Socketar Föreläsning 9. Klienter och servrar (som sagts tidigare ) Varför socketar

Innehåll. Socketar. Klient och serverprogrammering: Socketar Föreläsning 9. Klienter och servrar (som sagts tidigare ) Varför socketar previous Klient och serverprogrammering: Föreläsning 9 Innehåll Fördjupning se tex Harold, Hall Inledning och/eller Tut Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella

Läs mer

Objektorienterad Programmering DAT043. Föreläsning 11 19/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

Objektorienterad Programmering DAT043. Föreläsning 11 19/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) Objektorienterad Programmering DAT043 Föreläsning 11 19/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Multitasking och parallella program Multitasking: växla mellan olika processer.

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2008 05 26, 8.00 13.00 1. a) Raden sent = input.read(buffer); läser in så många bytes (dock max

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2018 04 11, 8.00 13.00 Del 1 1. a) IP-numret identifierar en enskild dator på internet. b) Port-numret

Läs mer

Java-programmering. GUI-exempel. WindowTest.java. Händelsestyrt. WindowTestGUI.java (forts) WindowTestGUI.java. GUI UDP TCP Trådar Laboration 2 Tips

Java-programmering. GUI-exempel. WindowTest.java. Händelsestyrt. WindowTestGUI.java (forts) WindowTestGUI.java. GUI UDP TCP Trådar Laboration 2 Tips Java-programmering GUI-exempel GUI UDP Trådar Laboration 2 Tips main Skapa GUI Rita på skärmen Sätt vem som ska lyssnas på 2/11-00 Datakommunikation - Jonny Pettersson, UmU 1 2/11-00 Datakommunikation

Läs mer

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson Lösningar till TENTAMEN I IXC003 SYSTEMUTVECKLING MED INTERNET/INTRANET, del 1 (5p) för IT3 och INTERNETPROGRAMMERING MED JAVA

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016

Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016 Objektorienterad Programkonstruktion Föreläsning 11 6 dec 2016 Föreläsningen 13/12 Halvtidsrepetition Maila frågor som ni vill att jag tar upp! ccs@kth.se Processer Vad vi i dagligt tal menar när vi pratar

Läs mer

Laboration D, Nätverkskommunikation

Laboration D, Nätverkskommunikation Laboration D, Nätverkskommunikation Avsikten med laborationen är att du ska få stifta bekantskap med kommunikation mellan datorer via internet. Java erbjuder ett flertal tekniker för kommunikation via

Läs mer

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker

Läs mer

Laborationer, moment 4 5

Laborationer, moment 4 5 2D4135 Objektorienterad programmering, analys och design med Java, 5p, vt 2005 Laborationer, moment 4 5 Detta är andra delen av labkursen. Tag med denna sida till varje redovisning och se till att du får

Läs mer

Föreläsning 7. DD2390 Internetprogrammering 6 hp

Föreläsning 7. DD2390 Internetprogrammering 6 hp Föreläsning 7 DD2390 Internetprogrammering 6 hp Innehåll Krypteringsöversikt (PKI) Java Secure Socket Extension (JSSE) Säkerhetsproblem 1. Vem är det man kommunicerar med Autentisering 2. Data kan avläsas

Läs mer

Undantag. Engelska: exceptions. Skansholm: exceptionella händelser

Undantag. Engelska: exceptions. Skansholm: exceptionella händelser Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker öppna en fil som inte finns, dividera med noll, indexera utanför en array osv. bjectorienterad programmering

Läs mer

Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet

Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet Java Secure Sockets Extension JSSE F5 Secure Sockets EDA095 Roger Henriksson Datavetenskap Lunds universitet Secure Sockets Layer SSL Transport Layer Security - TLS Protokoll och algoritmer för säker kommunikation

Läs mer

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr

Läs mer

Språkkonventioner och redigering av tal.

Språkkonventioner och redigering av tal. Språkkonventioner och redigering av tal. Kap J3-1 Konventioner för olika språk hanteras med hjälp av klassen java.util.locale Ett objekt i denna klass beskriver en lokal konvention. Lokala konventioner

Läs mer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

Läs mer

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av

Läs mer

Projektrapport. MegaLoad. Nätverksprogrammering EDA

Projektrapport. MegaLoad. Nätverksprogrammering EDA Projektrapport MegaLoad Nätverksprogrammering EDA095 2012-05-16 Av: Pétur Hjartarson, ic08phj@student.lth.se Jelena Mirosavljević, mat08jmi@student.lu.se Elise Ellerstedt, adi09eel@student.lu.se Ann-Louise

Läs mer

Datakommunika,on på Internet

Datakommunika,on på Internet Webbteknik Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2015 Rune Körnefors rune.kornefors@lnu.se Internet Inter- = [prefix] mellan, sinsemellan, ömsesidig Interconnect = sammanlänka Net =

Läs mer

Input. Programmering. Andra källor

Input. Programmering. Andra källor Programmering hh.se/db2004 Föreläsning 13: Undantag - med exempel från input klassen Scanner Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Input Standard Input Med standard

Läs mer

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation

Läs mer

Undantagshantering. Fördjupad Java. Fel. Undantag. Fånga Undantag. Grupper av Undantag

Undantagshantering. Fördjupad Java. Fel. Undantag. Fånga Undantag. Grupper av Undantag Undantagshantering Fördjupad Java Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java har

Läs mer

Undantagshantering. Fördjupad Java. Undantag. Fel. Grupper av Undantag. Fånga Undantag

Undantagshantering. Fördjupad Java. Undantag. Fel. Grupper av Undantag. Fånga Undantag Undantagshantering Fördjupad Java Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java har

Läs mer

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

//Använd main som ett handtag för att hålla ihop programmet. //Själva programmet finns i övriga klasser. /*==================================================================== Detta program hör ihop med dokumentet EXEMPEL_AVERAGE_POINTS.PDF där det finns förklaringar. ======================================================================*/

Läs mer

Föreläsnings 9 - Exceptions, I/O

Föreläsnings 9 - Exceptions, I/O Föreläsnings 9 - Exceptions, I/O Josef Svenningsson Tisdag 6/11 Undantag - Exceptions Kommer ni ihåg det här programmet? Det var ett av de första ni såg i första föreläsningen. import javax.swing.*; public

Läs mer

FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl

FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, 2001-04-28, kl 09.00-13.00 1. Grunderna

Läs mer

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson Fakulteten för ekonomi, kommunikation och IT Corba Datum: 2007-10-17 Namn: Kurs: Henrik Bäck Mathias Andersson DVGC02 Innehållsförteckning Implementation 3 IDL-fil 3 Server 3 Klient 3 Körning 3 Bilagor

Läs mer

Laborationer, moment 4 5

Laborationer, moment 4 5 2D4135 Objektorienterad programmering, analys och design med Java, 5p, vt 2004 Laborationer, moment 4 5 Detta är andra delen av labkursen. Tag med denna sida till varje redovisning och se till att du får

Läs mer

Fördjupad Java. Undantagshantering. Fel

Fördjupad Java. Undantagshantering. Fel Fördjupad Java 1 Undantagshantering Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java

Läs mer

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET Olika slags datornätverk Förberedelse inför laboration 4. Historik Protokoll, / Adressering, namnservrar WWW, HTML Föreläsning 5 Internet LAN Local Area Network student.lth.se (ganska stort LAN) MAN Metropolitan

Läs mer

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1 Java Sida 1 av 1 Java Mål och Syfte Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva

Läs mer

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada Mer källkod Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne Erik Forslin efo@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 1 Styrstrukturer i Java En styrstruktur är något som påverkar

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2011 06 03, 14.00 19.00 Del 1 1. REST-ramverk använder HTTP metoder för att interagera med en

Läs mer

Datainsamling över Internet

Datainsamling över Internet Datainsamling över Internet I den här uppgiften skall du styra ett mätförlopp och hämta mätdata via internet. Från en dator skall du styra en annan dator och beordra den att utföra en mätning och skicka

Läs mer

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ Organisation En array Šr en ordnad lista av všrden Varje všrde har ett numeriskt index - deklaration & anvšndning som parametrar flerdimensionella fšlt N element indexeras med 0 till N-1 0 1 2 3 4 5 6

Läs mer

Föreläsning 14. Filhantering

Föreläsning 14. Filhantering Föreläsning 14 Filhantering Filhantering Att hantera filer, dvs att läsa eller skriva data till en fil är en viktig del i de flesta program. Ur Javas synvinkel är filer objekt med egenskaper och metoder

Läs mer

Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng.

Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng. Tentamen ITK:P2 lördag 2007-04-14 Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng. 40 poäng ger betyget G, 55 ger VG Peter Mozelius DSV 1.) Ditt

Läs mer

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1310/

Läs mer

Nätverksprogrammering. Tekniker för att skriva program som kommunicerar med varandra över ett nätverk. F1 Nätverk och strömmar.

Nätverksprogrammering. Tekniker för att skriva program som kommunicerar med varandra över ett nätverk. F1 Nätverk och strömmar. F1 Nätverk och strömmar EDA095 Roger Henriksson Datavetenskap Lunds universitet Tekniker för att skriva program som kommunicerar med varandra över ett nätverk. Särskild tonvikt på Internet/IP-baserade

Läs mer

JAVAUTVECKLING LEKTION 4

JAVAUTVECKLING LEKTION 4 JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet

Läs mer

Instuderingsuppgifter läsvecka 6 - LÖSNINGAR

Instuderingsuppgifter läsvecka 6 - LÖSNINGAR Instuderingsuppgifter läsvecka 6 - LÖSNINGAR 1. 2. Om vi använder interfacet List behöver vi inte bry oss om den konkret implementation som används, därför kan implementationen bytas ut genom att endast

Läs mer

Tentamen i Datorkommunikation den 10 mars 2014

Tentamen i Datorkommunikation den 10 mars 2014 Tentamen i Datorkommunikation den 10 mars 2014 Tillåtna hjälpmedel: räknedosa Varje uppgift ger 10 poäng. För godkänt krävs 30 poäng. Uppgift 1 Antag att man ska skicka en fil av storleken 10 kbit från

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning. Introduktion Upplägg Kursen heter konstruktion, ej design eller formgivning. det handlar främst om att lära sig att bygga gränssnitt som är sunda den är praktiskt orienterad; vetenskapliga teorier finns,

Läs mer

DEL 1 För att få godkänt på tentan (betyg 3) måste du lösa minst fem av sju uppgifter i denna del.

DEL 1 För att få godkänt på tentan (betyg 3) måste du lösa minst fem av sju uppgifter i denna del. DAT043 Objektorienterad Programmering Tentamen 2018-06-08 Tid: 08.30-12.30 Ansvarig lärare: Moa Johansson Tfn: 031 772 10 78 Ansvarig lärare besöker tentamenssalarna ca klockan 9.30 samt 11.00. Tentamensregler

Läs mer

Tentamen , Grundläggande programmering i Java

Tentamen , Grundläggande programmering i Java Institutionen för informationsteknologi och medier Sid:1(3) Grundläggande programmering i Java Martin Kjellqvist Lösningsförslag, lösningsansatser Tentamen 2006-01-20, Grundläggande programmering i Java

Läs mer

F1 Nätverk och strömmar

F1 Nätverk och strömmar F1 Nätverk och strömmar EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Nätverksprogrammering Tekniker för att skriva program som kommunicerar med varandra över ett nätverk.

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 4 Nätverk och Internet Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-23 IT och medier 1 Innehåll Nätverk Benämningar Topologier Sammankoppling

Läs mer

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2000-03-22, kl 14.00-18.00 Hjälpmedel: En lärobok

Läs mer

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid: Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-01-09, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex

Läs mer

Gästföreläsningen. Synpunkter?

Gästföreläsningen. Synpunkter? Gästföreläsningen Synpunkter? Syfte: Att stadfästa Interface överenskommelser mellan flera personer som använder varandras kod. Interface Syfte: Att stadfästa överenskommelser mellan flera personer som

Läs mer

Tentamen , Introduktion till Java, dtaa98, dtea53

Tentamen , Introduktion till Java, dtaa98, dtea53 Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion

Läs mer

Datakommunika,on på Internet

Datakommunika,on på Internet Föreläsning i webbdesign Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Klient Server Klient (Client kund) ED program för ad utnydja tjänster som begärs

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till

Läs mer

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016 Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter

Läs mer

List.java. List.java. Printed by Tom Smedsaas

List.java. List.java. Printed by Tom Smedsaas Mar 03, 08 17:48 Page 1/3 class List * Representerar en länkad lista av godtyckliga objekt public class List { ListNode * Noder i listor protected static class ListNode { protected Object data; protected

Läs mer