🗊Презентация Сетевые средства Java

Нажмите для полного просмотра!
Сетевые средства Java, слайд №1Сетевые средства Java, слайд №2Сетевые средства Java, слайд №3Сетевые средства Java, слайд №4Сетевые средства Java, слайд №5Сетевые средства Java, слайд №6Сетевые средства Java, слайд №7Сетевые средства Java, слайд №8Сетевые средства Java, слайд №9Сетевые средства Java, слайд №10Сетевые средства Java, слайд №11Сетевые средства Java, слайд №12Сетевые средства Java, слайд №13Сетевые средства Java, слайд №14Сетевые средства Java, слайд №15Сетевые средства Java, слайд №16Сетевые средства Java, слайд №17Сетевые средства Java, слайд №18Сетевые средства Java, слайд №19Сетевые средства Java, слайд №20Сетевые средства Java, слайд №21Сетевые средства Java, слайд №22Сетевые средства Java, слайд №23Сетевые средства Java, слайд №24Сетевые средства Java, слайд №25Сетевые средства Java, слайд №26Сетевые средства Java, слайд №27Сетевые средства Java, слайд №28Сетевые средства Java, слайд №29Сетевые средства Java, слайд №30Сетевые средства Java, слайд №31Сетевые средства Java, слайд №32Сетевые средства Java, слайд №33Сетевые средства Java, слайд №34Сетевые средства Java, слайд №35Сетевые средства Java, слайд №36Сетевые средства Java, слайд №37Сетевые средства Java, слайд №38Сетевые средства Java, слайд №39Сетевые средства Java, слайд №40Сетевые средства Java, слайд №41Сетевые средства Java, слайд №42Сетевые средства Java, слайд №43Сетевые средства Java, слайд №44Сетевые средства Java, слайд №45Сетевые средства Java, слайд №46Сетевые средства Java, слайд №47Сетевые средства Java, слайд №48Сетевые средства Java, слайд №49Сетевые средства Java, слайд №50Сетевые средства Java, слайд №51Сетевые средства Java, слайд №52

Содержание

Вы можете ознакомиться и скачать презентацию на тему Сетевые средства Java. Доклад-сообщение содержит 52 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Сетевые средства Java
Описание слайда:
Сетевые средства Java

Слайд 2





Семиуровневая сетевая модель OSI
Описание слайда:
Семиуровневая сетевая модель OSI

Слайд 3


Сетевые средства Java, слайд №3
Описание слайда:

Слайд 4





Уровень 1, физический
   Физический уровень получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел.

IEEE 802.3 -- Ethernet 
IEEE 802.5 -- Token ring
Описание слайда:
Уровень 1, физический Физический уровень получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел. IEEE 802.3 -- Ethernet IEEE 802.5 -- Token ring

Слайд 5





Уровень 2, канальный
Канальный уровень обеспечивает создание, передачу и прием кадров данных. 
Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов.
Описание слайда:
Уровень 2, канальный Канальный уровень обеспечивает создание, передачу и прием кадров данных. Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов.

Слайд 6





Стандарты канального уровня
Ethernet 
Token ring 
FDDI 
X.25 
Frame relay
Описание слайда:
Стандарты канального уровня Ethernet Token ring FDDI X.25 Frame relay

Слайд 7





В сети ETHERNET циркулируют сетевые кадры переменного размера:
В сети ETHERNET циркулируют сетевые кадры переменного размера:
Описание слайда:
В сети ETHERNET циркулируют сетевые кадры переменного размера: В сети ETHERNET циркулируют сетевые кадры переменного размера:

Слайд 8





Что такое FDDI
Это стандарт передачи данных на расстояния до 200 км. 
Среда – оптоволокно.
Топология – двойное кольцо (похоже на TokenRing). Данные по кольцам циркулируют в разных направлениях. Одно кольцо основное, другое запасное.
Описание слайда:
Что такое FDDI Это стандарт передачи данных на расстояния до 200 км. Среда – оптоволокно. Топология – двойное кольцо (похоже на TokenRing). Данные по кольцам циркулируют в разных направлениях. Одно кольцо основное, другое запасное.

Слайд 9





Что такое X.25
Протокол для построения глобальных сетей на основе телефонных линий

Протокол содержит очень развитые средства коррекции ошибок.
Описание слайда:
Что такое X.25 Протокол для построения глобальных сетей на основе телефонных линий Протокол содержит очень развитые средства коррекции ошибок.

Слайд 10





Что такое Frame Relay
Это дальнейшее развитие идей X.25, но рассчитанное на качественные линии связи. 
Поэтому FR не содержит таких мощных средств коррекции ошибок (как X.25)

Отличительной особенностью FR является возможность организации виртуальных каналов.
Описание слайда:
Что такое Frame Relay Это дальнейшее развитие идей X.25, но рассчитанное на качественные линии связи. Поэтому FR не содержит таких мощных средств коррекции ошибок (как X.25) Отличительной особенностью FR является возможность организации виртуальных каналов.

Слайд 11





Уровень 3, сетевой
На сетевом уровне происходит маршрутизация пакетов на основе преобразования MAC-адресов в сетевые адреса. 

Сетевой уровень обеспечивает также прозрачную передачу пакетов на транспортный уровень.
Описание слайда:
Уровень 3, сетевой На сетевом уровне происходит маршрутизация пакетов на основе преобразования MAC-адресов в сетевые адреса. Сетевой уровень обеспечивает также прозрачную передачу пакетов на транспортный уровень.

Слайд 12





Источник: http://latysheva2007.narod.ru
Источник: http://latysheva2007.narod.ru
Описание слайда:
Источник: http://latysheva2007.narod.ru Источник: http://latysheva2007.narod.ru

Слайд 13





Протоколы сетевого уровня
IP - протокол Internet 
IPX - протокол межсетевого обмена 
X.25 (частично реализован на уровне 2)
Описание слайда:
Протоколы сетевого уровня IP - протокол Internet IPX - протокол межсетевого обмена X.25 (частично реализован на уровне 2)

Слайд 14





Уровень 4, транспортный
Транспортный уровень делит потоки информации на достаточно малые фрагменты (пакеты) для передачи их на сетевой уровень. 

Наиболее распространенные протоколы транспортного уровня включают: 
TCP - протокол управления передачей 
NCP - Netware Core Protocol 
SPX - упорядоченный обмен пакетами
Описание слайда:
Уровень 4, транспортный Транспортный уровень делит потоки информации на достаточно малые фрагменты (пакеты) для передачи их на сетевой уровень. Наиболее распространенные протоколы транспортного уровня включают: TCP - протокол управления передачей NCP - Netware Core Protocol SPX - упорядоченный обмен пакетами

Слайд 15





Уровень 5, сеансовый
Сеансовый уровень отвечает за организацию сеансов обмена данными между оконечными машинами.
Описание слайда:
Уровень 5, сеансовый Сеансовый уровень отвечает за организацию сеансов обмена данными между оконечными машинами.

Слайд 16





Уровень 6, уровень представления
Уровень представления отвечает за возможность диалога между приложениями на разных машинах. Этот уровень обеспечивает преобразование данных (кодирование, компрессия и т.п.) прикладного уровня в поток информации для транспортного уровня.
Описание слайда:
Уровень 6, уровень представления Уровень представления отвечает за возможность диалога между приложениями на разных машинах. Этот уровень обеспечивает преобразование данных (кодирование, компрессия и т.п.) прикладного уровня в поток информации для транспортного уровня.

Слайд 17





Уровень 7, прикладной
Прикладной уровень отвечает за доступ приложений в сеть.

Задачами этого уровня является перенос файлов, обмен почтовыми сообщениями и управление сетью.
Описание слайда:
Уровень 7, прикладной Прикладной уровень отвечает за доступ приложений в сеть. Задачами этого уровня является перенос файлов, обмен почтовыми сообщениями и управление сетью.

Слайд 18





Протоколы 7-го уровня
FTP - протокол переноса файлов 
TFTP - упрощенный протокол переноса файлов 
X.400 - электронная почта 
Telnet – удаленное выполнение команд
SMTP - простой протокол почтового обмена 
CMIP - общий протокол управления информацией 
SNMP - простой протокол управления сетью 
NFS - сетевая файловая система
Описание слайда:
Протоколы 7-го уровня FTP - протокол переноса файлов TFTP - упрощенный протокол переноса файлов X.400 - электронная почта Telnet – удаленное выполнение команд SMTP - простой протокол почтового обмена CMIP - общий протокол управления информацией SNMP - простой протокол управления сетью NFS - сетевая файловая система

Слайд 19





Семиуровневая модель, пожалуй, излишне “тяжеловесна”. Вполне достаточно пятиуровневой модели:
Семиуровневая модель, пожалуй, излишне “тяжеловесна”. Вполне достаточно пятиуровневой модели:
Описание слайда:
Семиуровневая модель, пожалуй, излишне “тяжеловесна”. Вполне достаточно пятиуровневой модели: Семиуровневая модель, пожалуй, излишне “тяжеловесна”. Вполне достаточно пятиуровневой модели:

Слайд 20





Основа сетевого взаимодействия – сервер, клиент и протокол.
Основа сетевого взаимодействия – сервер, клиент и протокол.
Описание слайда:
Основа сетевого взаимодействия – сервер, клиент и протокол. Основа сетевого взаимодействия – сервер, клиент и протокол.

Слайд 21





Сервер как правило находится в состоянии ожидания соединения с клиентом.
Сервер как правило находится в состоянии ожидания соединения с клиентом.
Описание слайда:
Сервер как правило находится в состоянии ожидания соединения с клиентом. Сервер как правило находится в состоянии ожидания соединения с клиентом.

Слайд 22





Порт – это целое число из диапазона [1,65535], которое “закрепляется” за тем или иным сервером.
Порт – это целое число из диапазона [1,65535], которое “закрепляется” за тем или иным сервером.
Описание слайда:
Порт – это целое число из диапазона [1,65535], которое “закрепляется” за тем или иным сервером. Порт – это целое число из диапазона [1,65535], которое “закрепляется” за тем или иным сервером.

Слайд 23





Схема отправки данных
Программа (на прикладном уровне) передает данные транспортному (четвертому) уровню.
Описание слайда:
Схема отправки данных Программа (на прикладном уровне) передает данные транспортному (четвертому) уровню.

Слайд 24





Два распространенных протокола транспортного уровня – TCP и UDP.
Два распространенных протокола транспортного уровня – TCP и UDP.
Описание слайда:
Два распространенных протокола транспортного уровня – TCP и UDP. Два распространенных протокола транспортного уровня – TCP и UDP.

Слайд 25





Датаграмма UDP невелика (~1K). Если нужно передать большой объем данных, то  программа-отправитель должна эти данные сегментировать перед передачей.
Датаграмма UDP невелика (~1K). Если нужно передать большой объем данных, то  программа-отправитель должна эти данные сегментировать перед передачей.
Описание слайда:
Датаграмма UDP невелика (~1K). Если нужно передать большой объем данных, то программа-отправитель должна эти данные сегментировать перед передачей. Датаграмма UDP невелика (~1K). Если нужно передать большой объем данных, то программа-отправитель должна эти данные сегментировать перед передачей.

Слайд 26





Нет гарантии, что все датаграммы дойдут до получателя. 
Нет гарантии, что все датаграммы дойдут до получателя.
Описание слайда:
Нет гарантии, что все датаграммы дойдут до получателя. Нет гарантии, что все датаграммы дойдут до получателя.

Слайд 27





ТСР-пакет тоже невелик (при передаче больших объемов требуется сегментация), однако протокол более надежен. 
ТСР-пакет тоже невелик (при передаче больших объемов требуется сегментация), однако протокол более надежен.
Описание слайда:
ТСР-пакет тоже невелик (при передаче больших объемов требуется сегментация), однако протокол более надежен. ТСР-пакет тоже невелик (при передаче больших объемов требуется сегментация), однако протокол более надежен.

Слайд 28





С транспортного уровня пакет “опускается” на сетевой уровень (третий).
С транспортного уровня пакет “опускается” на сетевой уровень (третий).

На этом уровне к пакету добавляются IP-адреса отправителя и получателя, и превращается в IP-пакет, после чего он передается “ниже” на канальный уровень…

На приемной стороне действия выполняются в обратном порядке
Описание слайда:
С транспортного уровня пакет “опускается” на сетевой уровень (третий). С транспортного уровня пакет “опускается” на сетевой уровень (третий). На этом уровне к пакету добавляются IP-адреса отправителя и получателя, и превращается в IP-пакет, после чего он передается “ниже” на канальный уровень… На приемной стороне действия выполняются в обратном порядке

Слайд 29





С точки зрения реализации в среде Java (а также C/С++) центральным объектом сетевого обмена является сокет.
С точки зрения реализации в среде Java (а также C/С++) центральным объектом сетевого обмена является сокет.

Сокет – это объект, который скрывает от программиста низкоуровневые детали сетевого обмена и делает обмен по сети похожим на файловый поток.
Описание слайда:
С точки зрения реализации в среде Java (а также C/С++) центральным объектом сетевого обмена является сокет. С точки зрения реализации в среде Java (а также C/С++) центральным объектом сетевого обмена является сокет. Сокет – это объект, который скрывает от программиста низкоуровневые детали сетевого обмена и делает обмен по сети похожим на файловый поток.

Слайд 30





Далее мы рассмотрим программную реализацию нескольких тем: 
Далее мы рассмотрим программную реализацию нескольких тем: 

Отправка запроса на URL;
TCP-обмен;
UDP-обмен.
Описание слайда:
Далее мы рассмотрим программную реализацию нескольких тем: Далее мы рассмотрим программную реализацию нескольких тем: Отправка запроса на URL; TCP-обмен; UDP-обмен.

Слайд 31





Отправка запроса на URL
Описание слайда:
Отправка запроса на URL

Слайд 32





import java.net.*;
import java.net.*;
import java.io.*;

class PostURL{
    public static void main(String [] args) {
        String req = "HomeLisp";
        try {
            URL url = new URL("http://homelisp.ru");
            URLConnection uc = url.openConnection();
            uc.setDoOutput(true);
            uc.setDoInput(true);
            uc.setUseCaches(false);
            uc.setRequestProperty("content-type","application/octet-stream");
            uc.setRequestProperty("content-length",""+req.length());
            uc.connect();
Описание слайда:
import java.net.*; import java.net.*; import java.io.*; class PostURL{ public static void main(String [] args) { String req = "HomeLisp"; try { URL url = new URL("http://homelisp.ru"); URLConnection uc = url.openConnection(); uc.setDoOutput(true); uc.setDoInput(true); uc.setUseCaches(false); uc.setRequestProperty("content-type","application/octet-stream"); uc.setRequestProperty("content-length",""+req.length()); uc.connect();

Слайд 33





       DataOutputStream dos = new DataOutputStream(uc.getOutputStream());
       DataOutputStream dos = new DataOutputStream(uc.getOutputStream());
            dos.writeBytes(req);
            dos.close();
            BufferedReader br = new BufferedReader( new InputStreamReader(uc.getInputStream()));
            String res=null;
            while ((res=br.readLine()) != null)
              System.out.println(res);                
        }
        catch(MalformedURLException me){
            System.err.println(me);
        }
        catch(UnknownHostException he){
            System.err.println(he);
        }
Описание слайда:
DataOutputStream dos = new DataOutputStream(uc.getOutputStream()); DataOutputStream dos = new DataOutputStream(uc.getOutputStream()); dos.writeBytes(req); dos.close(); BufferedReader br = new BufferedReader( new InputStreamReader(uc.getInputStream())); String res=null; while ((res=br.readLine()) != null) System.out.println(res); } catch(MalformedURLException me){ System.err.println(me); } catch(UnknownHostException he){ System.err.println(he); }

Слайд 34





      catch(UnknownServiceException se){
      catch(UnknownServiceException se){
            System.err.println(se);
        } 
        catch(IOException ioe){
            System.err.println(ioe);
        }
    }
}
Описание слайда:
catch(UnknownServiceException se){ catch(UnknownServiceException se){ System.err.println(se); } catch(IOException ioe){ System.err.println(ioe); } } }

Слайд 35





Упражнение
Протранслируйте и запустите код. Обеспечьте прием имени сайта из командной строки.
Описание слайда:
Упражнение Протранслируйте и запустите код. Обеспечьте прием имени сайта из командной строки.

Слайд 36





TCP-обмен
Описание слайда:
TCP-обмен

Слайд 37





Далее приводится исходный текст http-клиента, который запрашивает у сервера файл и выводит его содержание на консоль.
Далее приводится исходный текст http-клиента, который запрашивает у сервера файл и выводит его содержание на консоль.
Описание слайда:
Далее приводится исходный текст http-клиента, который запрашивает у сервера файл и выводит его содержание на консоль. Далее приводится исходный текст http-клиента, который запрашивает у сервера файл и выводит его содержание на консоль.

Слайд 38





import java.net.*;
import java.net.*;
import java.io.*;
import java.util.*;

class tcpClient{
    public static void main (String [] args){
        if (args.length != 3) {
            System.err.println("Usage: tcpClient host port file");
            System.exit(0);
        }
        String host = args[0];
        int    port = Integer.parseInt(args[1]);
        String file = args[2];
        try{
            Socket sock = new Socket(host,port);
            PrintWriter pw = new PrintWriter(new 
               OutputStreamWriter(sock.getOutputStream()),true);
Описание слайда:
import java.net.*; import java.net.*; import java.io.*; import java.util.*; class tcpClient{ public static void main (String [] args){ if (args.length != 3) { System.err.println("Usage: tcpClient host port file"); System.exit(0); } String host = args[0]; int port = Integer.parseInt(args[1]); String file = args[2]; try{ Socket sock = new Socket(host,port); PrintWriter pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()),true);

Слайд 39





            pw.println("POST "+file+" HTTP/1.1\n");
            pw.println("POST "+file+" HTTP/1.1\n");
            BufferedReader br = new BufferedReader(new 
                   InputStreamReader(sock.getInputStream()));
            String line = null;
            line = br.readLine();
            StringTokenizer st = new StringTokenizer(line);
            String code = null;
            if ((st.countTokens() >= 2) && st.nextToken().equals("POST")){
                if ((code = st.nextToken()) != "200"){
                    System.err.println("File not found. code="+code);
                    System.exit(0);
                }
            }
            while ((line = br.readLine()) != null)
                System.out.println(line);
Описание слайда:
pw.println("POST "+file+" HTTP/1.1\n"); pw.println("POST "+file+" HTTP/1.1\n"); BufferedReader br = new BufferedReader(new InputStreamReader(sock.getInputStream())); String line = null; line = br.readLine(); StringTokenizer st = new StringTokenizer(line); String code = null; if ((st.countTokens() >= 2) && st.nextToken().equals("POST")){ if ((code = st.nextToken()) != "200"){ System.err.println("File not found. code="+code); System.exit(0); } } while ((line = br.readLine()) != null) System.out.println(line);

Слайд 40





       sock.close();
       sock.close();
       }catch(Exception e){
            System.err.println(e);
        } 
    }
}
Описание слайда:
sock.close(); sock.close(); }catch(Exception e){ System.err.println(e); } } }

Слайд 41





Теперь рассмотрим текст приложения-сервера (протокол http), который будет предоставлять файлы клиентам.
Теперь рассмотрим текст приложения-сервера (протокол http), который будет предоставлять файлы клиентам.
Описание слайда:
Теперь рассмотрим текст приложения-сервера (протокол http), который будет предоставлять файлы клиентам. Теперь рассмотрим текст приложения-сервера (протокол http), который будет предоставлять файлы клиентам.

Слайд 42





import java.net.*;
import java.net.*;
import java.io.*;
import java.util.*;

class tcpServer{
    public static void main(String [] args){
        try{
            ServerSocket ss = new ServerSocket(Integer.parseInt(args[0]));
            while (true)
                new HttpConnect(ss.accept());
        }catch(ArrayIndexOutOfBoundsException ae){
            System.err.println("Usage: tcpServer port");
            System.exit(0);
        }catch(IOException e){
            System.out.println(e);
        }
Описание слайда:
import java.net.*; import java.net.*; import java.io.*; import java.util.*; class tcpServer{ public static void main(String [] args){ try{ ServerSocket ss = new ServerSocket(Integer.parseInt(args[0])); while (true) new HttpConnect(ss.accept()); }catch(ArrayIndexOutOfBoundsException ae){ System.err.println("Usage: tcpServer port"); System.exit(0); }catch(IOException e){ System.out.println(e); }

Слайд 43





  }
  }
}

class HttpConnect extends Thread{
    private Socket sock;
    HttpConnect(Socket s) {
        sock=s;
        setPriority(NORM_PRIORITY-1);
        start();
    }
    public void run() {
      try{  
        PrintWriter pw = new PrintWriter(new 
               OutputStreamWriter(sock.getOutputStream()),true);
        BufferedReader br = new BufferedReader(new 
               InputStreamReader(sock.getInputStream()));
Описание слайда:
} } } class HttpConnect extends Thread{ private Socket sock; HttpConnect(Socket s) { sock=s; setPriority(NORM_PRIORITY-1); start(); } public void run() { try{ PrintWriter pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()),true); BufferedReader br = new BufferedReader(new InputStreamReader(sock.getInputStream()));

Слайд 44





     String req = br.readLine();
     String req = br.readLine();
        System.out.println("Requset: "+req);
        StringTokenizer st = new StringTokenizer(req);
        if ((st.countTokens() >= 2) && st.nextToken().equals("POST")) {
            if ((req = st.nextToken()).endsWith("/") || req.equals(""))
                req+="index.html";
            try{
                File f = new File(req);
                BufferedReader bfr = new BufferedReader(new FileReader(f));
                char [] data = new char[(int) f.length()];
                bfr.read(data);
                pw.println("HTTP/1.1 200 OK\n");
                pw.write(data);
                pw.flush();
            }catch(FileNotFoundException fe){
                pw.println("HTTP/1.1 404 Not Found\n");
Описание слайда:
String req = br.readLine(); String req = br.readLine(); System.out.println("Requset: "+req); StringTokenizer st = new StringTokenizer(req); if ((st.countTokens() >= 2) && st.nextToken().equals("POST")) { if ((req = st.nextToken()).endsWith("/") || req.equals("")) req+="index.html"; try{ File f = new File(req); BufferedReader bfr = new BufferedReader(new FileReader(f)); char [] data = new char[(int) f.length()]; bfr.read(data); pw.println("HTTP/1.1 200 OK\n"); pw.write(data); pw.flush(); }catch(FileNotFoundException fe){ pw.println("HTTP/1.1 404 Not Found\n");

Слайд 45





            }catch(IOException ioe){
            }catch(IOException ioe){
                System.err.println(ioe);
            } 
            
        }
        else pw.println("HTTP/1.1 400 Bad Request\n");
        sock.close();         
    }catch(IOException ioe){
       System.err.println(ioe);
    }
  } 
}
Описание слайда:
}catch(IOException ioe){ }catch(IOException ioe){ System.err.println(ioe); } } else pw.println("HTTP/1.1 400 Bad Request\n"); sock.close(); }catch(IOException ioe){ System.err.println(ioe); } } }

Слайд 46





Упражнение
Протранслируйте и запустите клиент и север. Убедитесь в их работоспособности.
Попробуйте зайти на сервер браузером. Что видите? В чем причина? Попробуйте ее исправить.
Описание слайда:
Упражнение Протранслируйте и запустите клиент и север. Убедитесь в их работоспособности. Попробуйте зайти на сервер браузером. Что видите? В чем причина? Попробуйте ее исправить.

Слайд 47





UDP-обмен
Описание слайда:
UDP-обмен

Слайд 48





При использовании UDP, не требуется создавать клиент и сервер. Каждый участник может как отправлять данные, так и получать их.
При использовании UDP, не требуется создавать клиент и сервер. Каждый участник может как отправлять данные, так и получать их.

Далее приводится два класса: отправитель и получатель.
Описание слайда:
При использовании UDP, не требуется создавать клиент и сервер. Каждый участник может как отправлять данные, так и получать их. При использовании UDP, не требуется создавать клиент и сервер. Каждый участник может как отправлять данные, так и получать их. Далее приводится два класса: отправитель и получатель.

Слайд 49





import java.net.*; // Отправитель
import java.net.*; // Отправитель
import java.io.*;

class UdpSender{
    private String host;
    private int port;
    UdpSender(String h, int p){
        host=h;
        port=p;
    }
    public void sendMessage(String msg){
    try{
        byte [] data = msg.getBytes();
        InetAddress addr = InetAddress.getByName(host);
        DatagramPacket pack = new DatagramPacket(data,data.length,addr,port);
        DatagramSocket ds = new DatagramSocket();
Описание слайда:
import java.net.*; // Отправитель import java.net.*; // Отправитель import java.io.*; class UdpSender{ private String host; private int port; UdpSender(String h, int p){ host=h; port=p; } public void sendMessage(String msg){ try{ byte [] data = msg.getBytes(); InetAddress addr = InetAddress.getByName(host); DatagramPacket pack = new DatagramPacket(data,data.length,addr,port); DatagramSocket ds = new DatagramSocket();

Слайд 50





 ds.send(pack);
 ds.send(pack);
        ds.close();
    }catch(IOException e){
        System.err.println(e);
    }
  }
  public static void main(String[] args) {
      UdpSender sndr = new UdpSender("localhost",1111);
      for(int k=0; k<args.length; k++)
          sndr.sendMessage(args[k]);
  }
}
Описание слайда:
ds.send(pack); ds.send(pack); ds.close(); }catch(IOException e){ System.err.println(e); } } public static void main(String[] args) { UdpSender sndr = new UdpSender("localhost",1111); for(int k=0; k<args.length; k++) sndr.sendMessage(args[k]); } }

Слайд 51





import java.net.*; // получатель
import java.net.*; // получатель
import java.io.*;

class UdpReceiver{
  public static void main(String [] args){
    try{
        DatagramSocket ds = new DatagramSocket(1111);
        while(true){
            DatagramPacket pack = new DatagramPacket(new byte [1024],1024);
            ds.receive(pack);
            System.out.println(new String (pack.getData()).trim());
        }
    }catch(Exception e){
        System.err.println(e);
    }
  }
}
Описание слайда:
import java.net.*; // получатель import java.net.*; // получатель import java.io.*; class UdpReceiver{ public static void main(String [] args){ try{ DatagramSocket ds = new DatagramSocket(1111); while(true){ DatagramPacket pack = new DatagramPacket(new byte [1024],1024); ds.receive(pack); System.out.println(new String (pack.getData()).trim()); } }catch(Exception e){ System.err.println(e); } } }

Слайд 52





Упражнение
Протранслируйте проекты, запустите и убедитесь в их работоспособности. Что будет, если в коде получателя опустить вызов trim?
Описание слайда:
Упражнение Протранслируйте проекты, запустите и убедитесь в их работоспособности. Что будет, если в коде получателя опустить вызов trim?



Похожие презентации
Mypresentation.ru
Загрузить презентацию