Java och nätverk Läsanvisningar Skansholm (med Swing) kapitel 18 Budd kapitel 22
|
|
- Solveig Bergqvist
- för 7 år sedan
- Visningar:
Transkript
1 Java och nätverk Läsanvisningar Skansholm (med Swing) kapitel 18 Budd kapitel 22 1
2 Dagens ämnen Introduktion till nätverksprogrammering i Java TCP/IP Portar, sockets, strömmar Exempel: multitrådad bank-server med klienter Exempel: enkel chat, multitrådad chat 2
3 Introduktion till nätverksprogrammering i Java Nätverksprogrammering i Java är lätt och roligt Paketet java.net innehåller allt du behöver, och gömmer allt svårt : import java.net.* TCP/IP - Transport Control Protocol / Internet Protocol är implementerat och därmed gömt i klasserna i java.net 3
4 Grunderna i TCP/IP IP-adresser Dataströmmar via Internet Sockets Klasserna i java.net för att kommunicera via TCP/IP Att öppna nätverksansluningar Server/client applikationer 4
5 TCP och IP Två olika protokoll IP Internet Protocol TCP Transport Control Protocol Definierar tillsammans hur Internet fungerar 5
6 IP Internet Protocol Identifierar datorer på nätet med 4 bytes ( ) Alla datorer på nätet kan identifieras med hjälp av detta nummer Mappas till människovänliga namn (t.ex. dromedar.it.uu.se) av Domain Name Servers (DNS) Under IP sker all kommunikation i form av paket 6
7 TCP Transport Control Protocol Möjliggör att Internet-resurser kan användas som strömmar TCP garanterar att: Data som skickas till en viss maskin anländer till just denna maskin Data kan delas upp och skickas i flera paket som kan ta olika vägar över nätet. Sätts ihop på destinationsdatorn. 7
8 Portar Olika data (html, epost, etc) ska skickas till olika program portnummer bestämmer till vilket program data skickas. Portnummer under 1024 är reserverade för välkända tjänster som t.ex. epost (25 - smtp), ftp (21), etc. Webbsidor (http) skickas till port 80 Portnummer över 1024 kan användas av oss för egna servrar t.ex. 8
9 Identifiering: Sockets IP-adress + portnummer definierar tillsammans en unik tjänst på en maskin En sådan tjänst kan vara t.ex. en webbserver. Klientprogram lyssnar också på vissa portar för att få information tillbaka Socket = IP-adress + portnummer Servers kommer ihåg sina klienters sockets och kan utföra tjänster för flera klienter samtidigt" 9
10 Sockets och strömmar Sockets definierar ändstationerna i tvåvägskommunikation TCP garanterar att data kommer i rätt ordning Alltså: man kan läsa från /skriva till sockets som från/till strömmar TCP gömmer att data kommer från en annan maskin via Internet Javas Stream-klasser gör att data via nätet ser ut precis som data i en lokal fil 10
11 Servers och klienter En server lyssnar efter anslutningar på en viss port När anslutning anländer: får servern en socket som används i kommunikationen med klienten startar servern en dialog med klienten via denna socket Klienten startar uppkopplingen och kommunicerar via en socket som representerar servern 11
12 Server-design Serverprogram är ständigt igång Lyssnar efter begäran om anslutning Deltar i dialoger (skriver/läser via sockets) 12
13 Multitrådade servers Väntar på anslutning från klient Vid begäran om anslutning: Servern startar ny tråd som har hand om all kommunikation Tillbaka till vänteläget Detta möjliggör betjäning av flera klienter simultant" Fel i en klient påverkar inte andra klienter 13
14 Klassen InetAddress representerar en internetadress Olika sätt att skapa objekt i klassen: static InetAddress getbyname(string) static InetAddress getbyaddress(byte[]) static InetAddress getlocalhost() 14
15 Klassen InetAddress (forts) Några metoder: String gethostname() String gethostaddress() byte[] getaddress() 15
16 Test av klassen InetAddress Programmet nedan skapar adressen till mindator. public class InetTest { public static void main(string[] args) { try { InetAddress ipserver1 = InetAddress.getByName("dromedar.it.uu.se"); InetAddress ipserver2 = InetAddress.getByName(" "); InetAddress iplocal = InetAddress.getLocalHost(); System.out.println(ipServer1.toString()); System.out.println(ipServer2.toString()); System.out.println(ipLocal.toString()); System.out.println("getHostName="+ipLocal.getHostName()); System.out.println("getHostAddress="+ipLocal.getHostAddress()); 16
17 } System.out.println("getAddress="+ipLocal.getAddress()); } catch (UnknownHostException e) { System.out.println("IP address not found: "+e.getmessage()); } finally { System.out.println("We are done!"); } } 17
18 InetAddress (forts) Programmet skriver (om man startar det på en annan av våra datorer): javac InetTest.java java InetTest dromedar.it.uu.se/ dromedar.it.uu.se/ harpo/ gethostname=harpo gethostaddress= We are done! 18
19 Klasserna URL och URLConnection Det enklaste sättet att lokalisera och hämta data över nätet är med hjälp klassen URL. URL står för Uniform Resource Locator och är helt enkelt en webb-adress: komplett med protokoll, datornamn, portnummer, katalog och filnamn. Ett exempel visar bäst hur man kan använda klasserna. Programmet nedan skapar en URL, öppnar en ström och skriver innehållet i URL:en på skärmen. 19
20 class URLtest { public static void main(string[] args) throws MalformedURLException, IOException { URL u = new URL(" System.out.println( u ); // Skriver strängen ovan BufferedReader htmlkoden = new BufferedReader(new InputStreamReader(u.openStream())); 20
21 URLtest (forts) String raden; while ((raden = htmlkoden.readline())!= null) System.out.println( raden); URLConnection ul = u.openconnection(); ul.connect(); } System.out.println( ul.getcontentlength() ); System.out.println( new Date(ul.getDate()) ); System.out.println( new Date(ul.getLastModified()) ); System.out.println( ul.getcontenttype() ); } 21
22 Programmet skriver: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <title>oop med Java våren 2003</title> </head> <body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800000" alink="#ff0000"> <blockquote> <b> <a href=" <a href=" <a href=" </b> <h1 align="center"><img src=" <h1 align="center">objektorienterad programmering med Java våren 2003</h1> <hr> 22
23 Avancerade tjänster Klassen URL beskriver endast en fil på en dator. Men som vi vet finns också många tjänster (epost, webbservrar, ftp, m.m.) som man vill kunna använda. En socket En socket är ena halvan av en tvåvägsförbindelse mellan två program som kommunicerar över ett nätverk. En socket är associerad med ett portnummer. 23
24 Klasserna Socket och ServerSocket Klassen Socket: avsedd för klienter används för att koppla upp sig mot någon server Klassen ServerSocket: avsedd för servers väntar på inkommande uppkopplingar 24
25 Klassen Socket En socket kan Koppla upp sig mot en annan dator Sända data Ta emot data Stänga uppkopplingen 25
26 Klassen ServerSocket Brukar bindas till en port Lyssnar efter inkommande data Väntar på uppkopplingar från andra maskiner 26
27 En ServerSockets liv: 1. Skapas på en viss port med konstruktorn 2. Lyssnar efter inkommande uppkopplingar med metoden accept() när en klient försöker koppla upp sig......returnerar metoden ett Socket-objekt som kopplar samman klient och server 27
28 En ServerSockets liv (forts): 3. Servern använder Socketens metoder: getinputstream() och getoutputstream() för att hämta strömmar som kan användas för kommunikationen 4. Server och klient interagerar enligt överenskommet protokoll 5. Servern eller klienten eller båda kopplar ned 6. Servern återgår till steg 2: väntar 28
29 En enkel server Programmet nedan är en enkel server som bara ligger i en oändlig loop och väntar på att bli kontaktad. När någon klient kontaktar servern skrivs klientens namn och socketens port ut. 29
30 import java.net.*; import java.io.*; /** * SimpleServer.java: just listens to remote connections */ public class SimpleServer { public static void main(string [] args) { try { ServerSocket serversock = new ServerSocket(Integer.parseInt(args[0])); for (int i=1; true; i++) { [ Ta emot uppkoppling ] } } catch (IOException e) { 30
31 } System.out.println("Server Socket Error: "+e.getmessage()); } finally { System.out.println("Finished"); } } 31
32 Ta emot uppkoppling: System.out.println("Waiting for client connection #" + i + "..."); Socket sock = serversock.accept(); // waits for a connection System.out.print("Connection from client: "); System.out.print(sock.getInetAddress().getHostName()+" "); System.out.println(sock.getInetAddress().getHostAddress()); System.out.print("Remote port="+sock.getport()+" "); System.out.println("Local port="+sock.getlocalport()); System.out.println("... Done"); 32
33 Exempel på utskrift ( servern kontaktas med netscape och lynx från hamberg och dromedar): svenolof@harpo$ javac SimpleServer.java svenolof@harpo$ java SimpleServer 6001 Server Socket Error: Address already in use Finished svenolof@harpo$ java SimpleServer 6002 Waiting for client connection #1... Connection from client: hamberg.it.uu.se Remote port=36772 Local port= Done Waiting for client connection #2... Connection from client: dromedar.it.uu.se
34 Remote port=33799 Local port= Done Waiting for client connection #
35 En Sockets liv 1. Skapas med konstruktorn 2. Försöker koppla upp sig mot en dator 3. Efter uppkopplingen använder de två datorerna strömmar i socketen för att skicka och ta emot data. Data kan skickas och tas emot samtidigt. Hur data tolkas beror på överenskommet protokoll. 4. När dataöverföringen är klar stänger en eller båda sidorna förbindelsen. 35
36 En enkel klient Programmet nedan är en enkel klient som kontaktar servern ovan. public class SimpleClient { public static void main(string[] args) { try { [ Koppla upp dig ] } catch (UnknownHostException e) { System.out.println("IP address not found: " + e.getmessage()); 36
37 }}} } catch (IOException e) { System.out.println("Socket cannot be created: " + e.getmessage()); } finally { System.out.println("We are done!"); 37
38 [Koppla upp] InetAddress ipserver = InetAddress.getByName(args[0]); Socket s = new Socket(ipServer, Integer.parseInt(args[1])); System.out.println("Server:"); System.out.println(s.getInetAddress().getHostName()); System.out.println(s.getInetAddress().getHostAddress()); System.out.println("Remote port="+s.getport()); System.out.println("Local port="+s.getlocalport()); 38
39 Exempel: multitrådad bank-server med klienter Ett exempel med en bank och kunder: en bankserver som tillåter flera simultana klienter. En klass BankServer, som startar upp en KlientHanterare varje gång en klient ansluter sig. En klass Konto. en klass BankClient som körs på kundens dator. 39
40 public class BankServer { public static Konto[] konto = new Konto[4]; // extremt liten bank public static void main ( String[] args ) { konto[0] = new Konto(1, 5000 ); konto[1] = new Konto(2, ); konto[2] = new Konto(3, ); konto[3] = new Konto(4, ); int port = Integer.parseInt( args[0] ); try { ServerSocket serversock = new ServerSocket( port ); while (true) { Socket klientsock = serversock.accept(); 40
41 System.out.println(klientSock.getInetAddress().getHostName() + " ansluten"); new KlientHanterare( klientsock); } } catch (IOException e ) {} } 41
42 BankServer (forts) public static Konto trans( int nummer, int belopp) { for (int i=0;i<4;i++) if (konto[i].getnummer()==nummer) { konto[i].trans(belopp); return konto[i]; } return null; } } 42
43 class Konto { private int saldo; private int nummer; Konto( int nummer, int saldo ) { this.nummer = nummer; this.saldo = saldo; } void trans( int v) {saldo += v; } int getnummer() { return nummer; } int getsaldo() { return saldo; } } 43
44 Klienthanterare class KlientHanterare implements Runnable { public Thread aktivitet = new Thread(this); Socket sock; DataInputStream sin; DataOutputStream sout; public KlientHanterare(Socket s) throws IOException { sock = s; sin = new DataInputStream( sock.getinputstream()); sout = new DataOutputStream( sock.getoutputstream()); aktivitet.start(); } 44
45 Klienthanterare(forts) public void run() { while (true) { try { int nr = sin.readint(); int belopp = sin.readint(); Konto konto = BankServer.trans( nr, belopp); sout.writeboolean( (konto!= null) ); sout.writeint( konto.getsaldo() ); } catch (IOException e) { break; } } System.out.println(sock.getInetAddress().getHostName() + " nedkopplad"); 45
46 try { sock.close(); } catch( IOException e) {} } } 46
47 BankClient import java.io.*; import java.net.*; public class BankClient { public static void main( String[] args) throws IOException { String dator = args[0]; int port = Integer.parseInt( args[1] ); Socket sock = new Socket( dator, port); System.out.println("Ansluter till "+dator+", port "+port); DataInputStream sin = new DataInputStream( sock.getinputstream()); DataOutputStream sout = new DataOutputStream( sock.getoutputstream()); 47
48 BufferedReader indata = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Kontonummer"); String s2 = indata.readline(); int nr = Integer.parseInt(s2); System.out.println("Belopp"); s2 = indata.readline(); int belopp = Integer.parseInt(s2); sout.writeint(nr); sout.writeint(belopp); boolean ok = sin.readboolean(); int saldo = sin.readint(); System.out.println("Nytt saldo: " + saldo); sock.close(); }} 48
49 Mer exempel Exempel: enkel chat Program SingleChat fungerar som både server och klient. Aktiekurser 49
50 Sammanfattning Förvånansvärt lätt att komma igång och skriva Javaprogram som kommunicerar över Internet....men även ganska enkel kommunikation uttrycks bäst med multitrådade program. Klassen URL kan användas för att plocka ner data från nätet. Servers och klienter programmeras enkelt med klasserna ServerSocket och Socket. 50
10 Kommunikation i Java
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
Läs merTung 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 merTentamen 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 merTentamensskrivning 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 merSurfning. 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 merJavas 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 merTentamen 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 merProgrammering 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 merObjektorienterad 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 merDatakommunika,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 merDI-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 merTentamen 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 merTentamen 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 merIdag. 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 merObjektorienterad 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 merDatakommunikation 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 merGrundkurs 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 merF5 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 merHä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 merFÖ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 merFö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 merDatakommunika,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 merF8 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 merTentamen 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 merTENTAMEN 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 merOlika 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 merF2 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 merTentamen 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 merTentamen 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 merF1 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 merObjektorienterad 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 merFö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 merJAVAUTVECKLING 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 merLö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 merInput. 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 merFö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 merIT för personligt arbete F2
IT för personligt arbete F2 Nätverk och Kommunikation DSV Peter Mozelius Kommunikation i nätverk The Network is the Computer Allt fler datorer är sammankopplade i olika typer av nätverk En dators funktionalitet
Läs merTentamen 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 merKompilering 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 merDI-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Ö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 merTransport 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 merDatainsamling ö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 merObjektorienterad 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 merFö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 merKort 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 merAtt 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 merF1 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 merParsing 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 merFÖ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 merSprå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 merGrundläggande nätverksteknik. F2: Kapitel 2 och 3
Grundläggande nätverksteknik F2: Kapitel 2 och 3 Kapitel 2 COMMUNICATING OVER THE NETWORK Grundstenar i kommunka;on Tre grundläggande element Message source The channel Message des;na;on Media Segmentering
Läs merTCP/IP och Internetadressering
Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström TCP/IP och Internetadressering Slideset
Läs merWebbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011
Webbteknik II Föreläsning 4 Watching the river flow Web Service XML-RPC, SOAP, WSDL, UDDI HTTP Request, Response, Headers, Cache, Persistant Connection REST Hype or the golden way? Web Service / Webbtjänst
Läs merSocket-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 mer2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http.
2I1073 Lektion 2 Servlets, säkerhet, och filhantering KTH-MI Peter Mozelius import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lektion2a extends HttpServlet { public void
Läs merFö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 merMer 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 merNätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet
Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet Se Se också Intro en en streamad videoinspelning som som finns finns på på nätet nätet Innehåll Kort om grundläggande nätverkskoncept
Läs merF1 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//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 merJava 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 merF2 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 merTentamen 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 merNätverk grunder Föreläsning 1: 1: Introduktion till Internet
previous next Nätverk grunder Föreläsning 1: 1: Introduktion till Internet Kursledare: Cristian Bogdan cristi@nada.kth.se Gästföreläsare: Björn Eiderbäck bjorne@nada.kth.se Innehåll Kort om grundläggande
Läs merFö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 merInstuderingsuppgifter 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 merUndantag. 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 merInnehå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 merTentamensskrivning 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 merFöreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
Läs merMattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser
Orientera på Internet Nuvarande Internet Protocol version 4 (IPv4). Internet är en infrastruktur som förbinder en mängd datorer. Hur hittar vi till en specifik dator? Väl framme vid datorn, hur hittar
Läs merJava-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 merTrådar. Motivering. Många program måste kunna hålla på med flera saker samtidigt, till exempel. fleranvändarsystem.
Motivering Uppsala Universitet 21 april 2005 Många program måste kunna hålla på med flera saker samtidigt, till exempel fleranvändarsystem en webserver som måste kunna leverera flera websidor samtidigt
Läs merJava: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Läs merF4. 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 merOOP Objekt-orienterad programmering
OOP F12:1 OOP Objekt-orienterad programmering Föreläsning 12 Mer om JOptionPane Undantagshantering Vad är det? try catch Kasta egna undantag Filhantering spara objekt mellan körningar Användardialog via
Läs merJAVAUTVECKLING 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 merGrundlä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 merFakulteten 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 merLaborationer, 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 merTentamen , 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 merTä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 merFöreläsning 8: Exempel och problemlösning
TDA 545: Objektorienterad programmering Föreläsning 8: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 De tre senaste föreläsningarna Läsanvisning: kap 2 & 13 meddelanden och
Läs merF9 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 merTentamen 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 merConcurrency Saker händer samtidigt. Process En instans av ett program
Concurrency Saker händer samtidigt Hur gör vi flera saker samtidigt på en dator? - Dela på en CPU - Flera CPU Flera processer på en dator. Operativsystemet (OS) tilldelar dem körtid (time slices, prioritet)
Läs merFelhantering. Andra brott mot språkets regler. Man kan också i programmet bryta mot ett antal olika regler som gäller. Exempelvis:
Felhantering I de flesta program finns eller uppstår ett antal olika fel. Man behöver en strategi för att hitta och rätta till sådana fel. Olika typer av fel som kan inträffa: syntaktiska fel Olika form
Läs merTentamen. Lösningsförslag
Sida 1/8 Tentamen Grundläggande programmering i Java A 5p, DTAA32 2002-03-22 Lösningsförslag Uppgift 1 ( 3p ) Utskriften blir: Skriv in ett tal 24 47 48 intal=471 Uppgift 2 ( 6p ) a.) b.) c.) d.) e.) falskt
Läs merObjektorienterad 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 merJAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Läs merDUGGA: 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 merWWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP
Exempel på klientsidan WWW Javascript-interpretator XML-interpretator HTML-interpretator Java-interpretator CSS-interpretator Använder TCP Kan återanvända uppkoppling Inga tillstånd hos servern OS API
Läs merLaborationer, 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 merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merObjektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merDEL 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