Wyk ad 8 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga


2 Gniazdka i datagramy UDP

Zawartość

Cechy protokołu UDP

Datagramy w Java

(public finał class DetagramPackiet extends Object)

Dostarcza metod do:

Konstruktory Datagramów

Konstruktory do odbioru danych

public DatagramPacket (byte [] buffer, int length)

public DatagramPacket (byte [] buffer, int offset, int length)

byte [] buffer - new byte [8192];DatagramPacket dp = new DatagramPackettbuffer, buffer. length)

Konstruktory do wysyłania

danych

public DatagramPacket (byte [] data, int length,

InetAddres destination, int port)

public DatagramPacket (byte [] data, int offset, int length,

InetAddres destination, int port)

Konstruktory do wysyłania danych - przykład

Strings = "Tojest test;

byte [] data = s.getBytes("ASCII"); try{

InetAddress ia = TnetAddress.getByName ("test.prz-rzeszow.pl"); int port = 7; DatagramPacket dp = new DatagramPacket

(data, data.length, ia, port); //wysylanie pakietu

}Catch (IOException e) { }

Metody get i set

Metody get

Metody set

Gniazda datagramowe

public class DatagramSocket extends Object;

Klient - nie musi mieć podanego portu -zostanie przypisany automatycznie

Serwer - musi

Konstruktory gniazdek datagramowych

puhlic DatagramSocket () throws SocketException

try{

datagramSocket client = new DetagramSocket(); //Wysyłamy pakiety ...} catch (SockctExccption e){ Systcm.err.println(e);}

public DatagramSocket (int port) throws SocketException

import java.nct.*; public class UDPPortScanner { public static void main(String[] args) for (int port = 1024; port <= 65535; port++) { try{

// następna linia spowoduje błąd i przejdzie do bloku catch // jeśli na porcie działa już jakiś serwer DatagramSockct server = new DatagramSocket(port): serverclose(); //Gdy uda mu się otworzyć to od razu zamyka to co utworzył

catch (Socket Exccption e) {

System.out.println(„Jest już serwer na porcie " + port + "."); } // end try } // end for

}}

public DatagramSocket (int port,InetAddress address)

throws SocketException

Uwaga

Wysyłanie i odbieranie datagramów

Wysyłanie datagramów

public void send (DatagramPacket dp) throws SocketException

theSocket.send (theOutDatagramPacket);

Wysyłanie datagramów - klient

import java.net. *;import java.io.*; public class UDPDiscardClient { public final static int DEFAULT_PORT = 9; public static void main(String[] args) { String hostname; int port = DEFAULT_PORT; if (args.length >0) { hostname = args[0]; try { port = Integer.parseInt(args[l]); } catch (Exccption e) { } }

else {hostname = "localhost";} try {InetAddress server = InetAddress.getByName(hostname);

BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));

DatagramSocket theSocket = new DatagramSocket();

while (true) {

String theLine = userInput.readLine(); if (theLine.equals(".")) break; byte[] data = theLine.getBytes();

DatagramPacket theOutput= new DatagramPacket(data, data.length, server, port); the Socket.send(theOutput); } //end while } // end try

catch (UnknownHostException e) { System.err.println(e); } catch (SocketException se) { System.err.println(se);} catch (IOException e) { System.err.println(e);} } // end main }

Odbieranie datagramów

public void receive (DatagramPacket dp) throws SocketException

Gdy chcemy wysłać zbyt duży pakiet zjawi się wyjątek IOExceptio

Import java.net.*;import java.io.*; public class UDPDiscardServer {

public final static int DEFAULT_PORT = 9;

public finał static int MAX_PACKET_SIZE = 65507;

public static void main(String[] args) { int port = DEFAULT_PORT;

byte[] buffer = new byte[MAX_PACKET_SIZE];

try {port = Integer.parseInt(args[0]); {

catch (Exception e) { }

try{

DatagramSocket server=new DatagramSocket(port); DatagramPacket packet == new DatagramPacket(buffer, buffer.length);

while (true) {

try{

server.receive (packet) ;

String s = new String(packet.getData(), 0, packet.getLength());

System.out.println(packet.getAddress() + " at port " + packetgetPort() + " says " + s); // przywrócenie początkowej długości buforu przed odebraniem następnego pakietu packet.setLength (buffer.length); }

catch (IOExeeption e) { System, err.println(e);} } //end while } // end try

catch (SocketException se) { System.err.println(se); } // end catch } // end main}

Inne metody gniazda

Co to jest multicast?

Adresy i grupy multicast

Adresy zarezerwowane

Przesyłanie danych multicast

Lokalny host 0

Lokalna podsieć l

Lokalny kampus 16
Szerokopasmowa sieć w USA blisko sieci szkieletowej 32

USA 48

Ameryka Północna 64

Szerokopasmowa sieć światowa 128

Wszystkie sieci na świecie 255

Gniazda multicast

-tworzenie bufora

-przygotowanie datagramu

-założenie gniazdka

-wysłanie lub odebranie danych, między czasie dołączenie i odłączenie od grupy

Konstruktory do wysyłania

danych

public MulticastSocket () throws SocketException

public Multicast Socket (int port) throws SocketException

Tworzy gniazdko na animowym porcie i drugi wariant na określonym porcie.

Podłączenie i odłączenie od

grupy

Podłączenie:

Odłączenie:

Wysłanie danych

try {

InetAddres ia =InetAddress.getByName(„experiment.mcast.net");

byte [] data = „Oto dane multicast\r\n" . getBytes();

int port = 4000;

DatagramPacket dp = new DatagramPacket(data,data.length,ia, port)

MulticastSockct ms = new MulticastSocket();

ms.send (dp); // ms.send(dp, 64); -Wysłanie w Ameryce Północnej }

Catch (IOException ie){

System.err.println (ie)}



Wyszukiwarka

Podobne podstrony:
Wyk ad 1 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 4 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 5 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 6 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 2 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 9 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 3 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 7 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Przetwarzanie Równoległe i Rozproszczone Szczerbińskiego, wykład 3, SIEĆ PRZETASOWANA (perfect shuff
Ekonomia rynkowa - wyk+éad 05, Studia, Informatyka Stosowana PWSZ Tarnów st 1, Semestr I, Ekonomia,
wyklad 4, przetwarzanie rownolegle i rozproszone - Szczerbinski
[tomko] Progr Rozpr Pytania egzaminacyjne, przetwarzanie rownolegle i rozproszone - Szczerbinski
Wyk ad I sciaga z BHP, BHP
przyklady na egzamin, szkola, przetwarzanie rownolegle i rozproszone - Prof Szczerbinski
Ekonomia rynkowa - wyk+éad 04, Studia, Informatyka Stosowana PWSZ Tarnów st 1, Semestr I, Ekonomia,

więcej podobnych podstron