Presentation laddar. Vänta.

Presentation laddar. Vänta.

Java Nätverks API URL sockets. Nätverkskomponenter i Java URL Stream sockets (TCP) Datagram sockets (UDP) Remote Method Invocation (RMI)

Liknande presentationer


En presentation över ämnet: "Java Nätverks API URL sockets. Nätverkskomponenter i Java URL Stream sockets (TCP) Datagram sockets (UDP) Remote Method Invocation (RMI)"— Presentationens avskrift:

1 Java Nätverks API URL sockets

2 Nätverkskomponenter i Java URL Stream sockets (TCP) Datagram sockets (UDP) Remote Method Invocation (RMI)

3 URL klassen Representerar en web resurs –URL url1 =new URL(”http://www.du.se/~jbr”); –URL url2 =new URL(url1,”index.html”); metoder –getProtocol() –getPort() –openConnection() –getContent()

4 URLConnection klassen Öppna en url koppling URLConnection con = url1.openConnection(); Hämta innehållet på en websida BufferedReader Stream = new BufferedReader( new InputStreamReader( con.getInputStream()));

5 Socket klassen Java.net.Socket används för att göra en TCP socket för en klientapplikation. getInputStream() och getOutputStream() används för att skapa InputStream/OutputStream objekt kopplade till Socket.

6 Socket klassen Socket host:port TCPIPTCPIP HTTP port host

7 ServerSocket klassen Används för att skapa en socket koppling på server sidan –Tillsammans med Socket kan man skriva distribuerade Client/Server applikationer i Java utan att behöva bekymra sig om detaljer som accept på lägre nivåer

8 Exempel: Dagens datum import java.net.*; import java.io.*; import java.util.Date; public class date { public static void main(String[] args) { try { for (int i = 0; i < args.length; i++) { Socket s = new Socket(args[i], 13);

9 Exempel: Dagens datum InputStream is = s.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String theTime = br.readLine(); System.out.println(theTime); s.close(); } catch (IOException e) { System.out.println((new Date()).toString()); }

10 Uniform Datagram Protocol TCP feltolerant, dvs sänder om packet inte kom fram eller blev korrupt UDP har ingen felkontroll -Varför använda UDP? -UDP upp till 3ggr snabbare än TCP

11 UDP klasser Java.net.DatagramSocket –Fungerar både som klient och server –UDP portar skilda från TCP portar java.net.DatagramPacket –Hållare för de byte´s som skall skickas resp sändas –Innehåller IP adressen och portnummer

12 DatagramPacket konstruktorer public DatagramPacket( byte[] data, int length) public DatagramPacket( byte[] data, int length, InetAddress iaddr, int iport)

13 DatagramPacket InetAddress ia = new InetAddess(”datan"); int chargen = 19; String s = "My second UDP Packet”; byte[] b = s.getBytes(); DatagramPacket dp = new DatagramPacket(b, b.length, ia, chargen);

14 DatagramSocket konstruktorer public DatagramSocket() throws SocketException public DatagramSocket(int port) throws SocketException public DatagramSocket(int port, InetAddress laddr) throws SocketException

15 Skicka Datagram class UDPSend { public static void main(String[] args) { try { InetAddress ia = InetAddress.getByName(args[0]); int chargen = 19; String s = "My second UDP Packet"; byte[] b = s.getBytes(); DatagramPacket dp = new DatagramPacket(b, b.length, ia, chargen); DatagramSocket sender = new DatagramSocket(); sender.send(dp); } catch (UnknownHostException e) {} catch (IOException e) {} }

16 MulticastSocket Ärver DatagramSocket Två nya metoder joinGroup() och leaveGroup(). Endast multicastadresser Modifierad send som talar om hur många hops man skall skicka sitt multicast meddelande


Ladda ner ppt "Java Nätverks API URL sockets. Nätverkskomponenter i Java URL Stream sockets (TCP) Datagram sockets (UDP) Remote Method Invocation (RMI)"

Liknande presentationer


Google-annonser