Разработка распределенных приложений на платформе Java. Взаимодействие компонентов на основе сетевых протоколов презентация

Содержание


Презентации» Информатика» Разработка распределенных приложений на платформе Java. Взаимодействие компонентов на основе сетевых протоколов
Разработка распределенных приложений на платформе JavaОсновные термины и понятия 
 Определение протокола
 Сетевой протокол – этоМодель OSI
 Прикладной уровень (Application layer)
 Уровень представления (Presentation layer)
 СеансовыйОбмен данными на основе протоколов UDP и TCP/IP
 Основные термины
 СетевойОбмен данными на основе протоколов UDP и TCP/IP
 Основные классы дляОбмен данными на основе протоколов UDP и TCP/IP
 Основные методы классаОбмен данными на основе протоколов UDP и TCP/IP
 Основные методы классаОбмен данными на основе протоколов UDP и TCP/IPОбмен данными на основе протокола UDP
 Обмен данными по протоколу UDPCоздается экземпляр класса DatagramSocket с его привязкой к определенному локальному порту,Основные классы:
 Основные классы:
 DatagramPacket
 DatagramSocketОсновные методы класса DatagramPacket:
 Основные методы класса DatagramPacket:
 
 DatagramPacket(byte[] buf,Основные методы класса DatagramSocket:
 Основные методы класса DatagramSocket:
 DatagramSocket()throws SocketException;
 DatagramSocketint port = 15679;
 int port = 15679;
 try {
 int Port = 15678;
 int Port = 15678;
 try {
 Основные классы:
 Основные классы:
 Socket
 ServerSocketАлгоритм работы на стороне клиента:
 Алгоритм работы на стороне клиента:
 СоздатьАлгоритм работы на стороне сервера:
 Алгоритм работы на стороне сервера:
 СоздатьОсновные конструкторы класса:
 Основные конструкторы класса:
 Socket ();
 Socket (InetAddress host,Методы для управления соединением:
 Методы для управления соединением:
 void bind(SocketAddress bindpoint);
Диагностические методы класса:
 Диагностические методы класса:
 InetAddress getInetAddress();
 int getPort();
 InetAddressМетоды для работы с входными и выходными потоками:
 Методы для работыОсновные конструкторы класса:
 Основные конструкторы класса:
 ServerSocket();
 ServerSocket(int port);
 ServerSocket(int port,Управление соединением:
 Управление соединением:
 Socket accept();
 void bind(SocketAddress endpoint);
 void close();Диагностические методы:
 Диагностические методы:
  InetAddress getInetAddress();
  int getLocalPort();
 Фрагмент кода реализации на стороне клиента:
 Фрагмент кода реализации на сторонеФрагмент кода реализации на стороне сервера:
 Фрагмент кода реализации на сторонеОсновные классы:
 Основные классы:
 - для создания безопасного соединения:
  SSLSocket
Заключение
 Заключительный обзор темы
 Вопросы?



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Разработка распределенных приложений на платформе Java


Слайд 2
Описание слайда:
Основные термины и понятия Определение протокола Сетевой протокол – это набор правил и соглашений, регламентирующих процесс передачи данных по компьютерным сетям Иерархия протоколов Стеки протоколов

Слайд 3
Описание слайда:
Модель OSI Прикладной уровень (Application layer) Уровень представления (Presentation layer) Сеансовый уровень (Session layer) Транспортный уровень (Transport layer) Сетевой уровень (Network layer) Канальный уровень (Data Link layer) Физический уровень (Physical layer)

Слайд 4
Описание слайда:

Слайд 5
Описание слайда:

Слайд 6
Описание слайда:
Обмен данными на основе протоколов UDP и TCP/IP Основные термины Сетевой адрес – уникальный в рамках данной сети идентификатор, присваиваемый компьютеру в сети URL (Uniform Resource Locator) – идентификатор установленной формы, определяющий положение какого-либо ресурса (файла, документа) в сети www (World Wide Web). Обобщенная спецификация URL имеет следующий вид: протокол:субпротокол//доменное_имя : порт/локальный_путь/имя_ресурса#раздел_документа Сокет - специальная структура данных, содержащая сетевой адрес компьютера и номер порта на этом компьютере Порт программы – это специальный номер, который может быть сопоставлен каждой программе на компьютере

Слайд 7
Описание слайда:
Обмен данными на основе протоколов UDP и TCP/IP Основные классы для представления адресов компьютеров и ресурсов: InetAddress Inet4Address Inet6Address SocketAddress InetSocketAddress URL URI

Слайд 8
Описание слайда:
Обмен данными на основе протоколов UDP и TCP/IP Основные методы класса InetAddress static InetAddress getByName (String host); static InetAddress[] getAllByName (String host); static InetAddress getByAddress (byte[] addr); static InetAddress getLocalHost (); String getCanonicalHostName (); String getHostAddress(); boolean isLoopbackAddress (); boolean isMulticastAddress (); boolean isReachable (int timeout );

Слайд 9
Описание слайда:
Обмен данными на основе протоколов UDP и TCP/IP Основные методы класса URL: URL (String spec); URL (String protocol, String host, int port, String file); String getProtocol (); String getHost (); String getPath (); String getFile (); int getPort (); int getDefaultPort (); InputStream openStream (); Object getContent ();

Слайд 10
Описание слайда:
Обмен данными на основе протоколов UDP и TCP/IP

Слайд 11
Описание слайда:
Обмен данными на основе протокола UDP Обмен данными по протоколу UDP осуществляется с помощью специальных пакетов – датаграмм (datagram). В рамках протокола UDP постоянное соединение между компьютерами в сети не устанавливается. Протокол UDP не гарантирует доставки пакета адресату Протокол UDP не гарантирует сохранения порядка получения пакетов адресатом, поскольку каждый пакет может отправляться по индивидуальному маршруту

Слайд 12
Описание слайда:
Cоздается экземпляр класса DatagramSocket с его привязкой к определенному локальному порту, а в случае такой необходимости и к локальному адресу. Cоздается экземпляр класса DatagramSocket с его привязкой к определенному локальному порту, а в случае такой необходимости и к локальному адресу. Для приема данных создается «пустой» экземпляра класса DatagramPacket с буфером заданного размера. Вызывается метод receive() класса DatagramSocket. После его завершения из пакета извлекаются данные, а также адрес и порт отправителя. Для отсылки данных создается другой экземпляр класса DatagramPacket и заполняется нужными данными. Кроме того, для данного пакета указывается адрес и порт назначения. Вызывается метод send() класса DatagramSocket. Сокет закрывается.

Слайд 13
Описание слайда:

Слайд 14
Описание слайда:
Основные классы: Основные классы: DatagramPacket DatagramSocket

Слайд 15
Описание слайда:
Основные методы класса DatagramPacket: Основные методы класса DatagramPacket: DatagramPacket(byte[] buf, int length) DatagramPacket(byte[] buf, int length, InetAddress address, int port) InetAddress getAddress() int getPort() SocketAddress getSocketAddress() int getLength() byte[] getData() void setAddress(InetAddress iaddr) void setData(byte[] buf) void setPort(int port) void setSocketAddress(SocketAddress address)

Слайд 16
Описание слайда:
Основные методы класса DatagramSocket: Основные методы класса DatagramSocket: DatagramSocket()throws SocketException; DatagramSocket (int port) throws SocketException; void close(); boolean isClosed(); InetAddress getLocalAddress(); int getLocalPort(); void receive(DatagramPacket p) throws IOException; void send(DatagramPacket p) throws IOException;

Слайд 17
Описание слайда:
int port = 15679; int port = 15679; try { DatagramSocket udpSocket = new DatagramSocket (port); int bufferSize = 1024; String message = "UDP test message"; byte[] buffer = message.getBytes (); DatagramPacket udpPacket = new DatagramPacket (buffer, buffer.length); udpPacket.setAddress (InetAddress.getByName ("localhost")); udpPacket.setPort (15678); udpSocket.send (udpPacket); udpSocket.close(); } catch (SocketException e) { System.out.println ("Socket exception occur"); } catch (IOException e) { System.out.println ("IOException occur"); }

Слайд 18
Описание слайда:
int Port = 15678; int Port = 15678; try { DatagramSocket udpSocket = new DatagramSocket (Port); int bufferSize = 1024; byte[] buffer = new byte[BufferSize]; DatagramPacket udpPacket = new DatagramPacket (buffer, buffer.length); UDPSocket.receive (UDPPacket); System.out.println ("Got packet from " + UDPPacket.getAddress () + ":" + UDPPacket.getPort ()); System.out.println ("Packet contain: " + new String(UDPPacket.getData ()).trim ()); udpSocket.close(); } catch (SocketException e) { System.out.println ("Socket exception occur"); } catch(IOException e) { System.out.println ("IOException occur"); }

Слайд 19
Описание слайда:
Основные классы: Основные классы: Socket ServerSocket

Слайд 20
Описание слайда:
Алгоритм работы на стороне клиента: Алгоритм работы на стороне клиента: Создать экземпляр класса Socket; Получить ссылки на входной и выходной потоки класса Socket; Произвести операции чтения из входного потока сокет; Произвести запись в выходной поток сокета; Закрыть входной и выходной потоки сокета; Закрыть сокет.

Слайд 21
Описание слайда:
Алгоритм работы на стороне сервера: Алгоритм работы на стороне сервера: Создать экземпляр класса ServerSocket; Получить ссылку на экземпляр класса Socket с помощью метода accept(); Получить ссылки на входной и выходной потоки класса Socket; Произвести операции чтения из входного потока сокета; Произвести запись в выходной поток сокета; Закрыть входные и выходные потоки сокета; Закрыть сокет, связанный с клиентом; Закрыть серверный сокет.

Слайд 22
Описание слайда:

Слайд 23
Описание слайда:
Основные конструкторы класса: Основные конструкторы класса: Socket (); Socket (InetAddress host, int port); Socket (String host, int port); Socket(InetAddress address, int port, InetAddress localAddr, int localPort); Socket(String address, int port, InetAddress localAddr, int localPort); protected Socket(SocketImpl impl)

Слайд 24
Описание слайда:
Методы для управления соединением: Методы для управления соединением: void bind(SocketAddress bindpoint); void connect(SocketAddress endpoint); void connect(SocketAddress endpoint, int timeout); void close() throws IOException

Слайд 25
Описание слайда:
Диагностические методы класса: Диагностические методы класса: InetAddress getInetAddress(); int getPort(); InetAddress getLocalAddress(); int getLocalPort(); boolean isBound(); boolean isClosed(); boolean isConnected() boolean isInputShutdown(); boolean isOutputShutdown();

Слайд 26
Описание слайда:
Методы для работы с входными и выходными потоками: Методы для работы с входными и выходными потоками: InputStream getInputStream() throws IOException; OutputStream getOutputStream() throws IOException; void shutdownInput() throws IOException; void shutdownOutput() throws IOException;

Слайд 27
Описание слайда:
Основные конструкторы класса: Основные конструкторы класса: ServerSocket(); ServerSocket(int port); ServerSocket(int port, int backlog, InetAddress bindAddr);

Слайд 28
Описание слайда:
Управление соединением: Управление соединением: Socket accept(); void bind(SocketAddress endpoint); void close();

Слайд 29
Описание слайда:
Диагностические методы: Диагностические методы: InetAddress getInetAddress(); int getLocalPort(); SocketAddress getLocalSocketAddress(); boolean isBound(); boolean isClosed();

Слайд 30
Описание слайда:
Фрагмент кода реализации на стороне клиента: Фрагмент кода реализации на стороне клиента: final int DEFAULT_SERVER_PORT = 16789; clsClientSocket = new Socket (InetAddress.getByName (strHost), DEFAULT_SERVER_PORT); OutputStream out = clsClientSocket.getOutputStream (); out.write ("Test message".getBytes()); InputStream in = clsClientSocket.getInputStream (); byte[] message = new byte[1024]; int n = in.read ( message ); … ClsClientSocket.shutdownInput (); clsClientSocket.shutdouwOutput (); clsClientSocket.close();

Слайд 31
Описание слайда:
Фрагмент кода реализации на стороне сервера: Фрагмент кода реализации на стороне сервера: private final int DEFAULT_SERVER_PORT = 16789; private final int DEFAULT_SERVER_CLIENTS_NUMBER = 124; clsServerSocket = new ServerSocket (DEFAULT_SERVER_PORT, DEFAULT_SERVER_CLIENTS_NUMBER); Socket clsSocket = clsServerSocket.accept (); InputStream in = clsSocket.getOutputStream ()); OutputStrem out = clsSocket.getInputStream ()); … clsSocket.shutdownInput(); clsSocket.shutdownOutput(); clsSocket.close(); clsServerSocket.close();

Слайд 32
Описание слайда:
Основные классы: Основные классы: - для создания безопасного соединения: SSLSocket SSLServerSocket - для работы с разрешениями: SocketPermission NetPermission - для аутентификации: Authenticator PasswordAuthentication

Слайд 33
Описание слайда:
Заключение Заключительный обзор темы Вопросы?


Скачать презентацию на тему Разработка распределенных приложений на платформе Java. Взаимодействие компонентов на основе сетевых протоколов можно ниже:

Похожие презентации