
- •1 Створення клієнт/серверних додатків на java з використанням tcp сокетів
- •1.3 Опис лабораторної установки (програмного забезпечення).
- •1.4 Порядок виконання роботи і методичні вказівки з її виконання.
- •Лабораторна робота №2
- •1.2 Методичні вказівки з організації самостійної роботи студентів.
- •1.2.1Классы DatagramPacket и DatagramSocket
- •1.3 Описание лабораторной устанвки (програмного обеспечения)
- •1.4 Порядок выполнения работы и методические указания для ее выполнения
- •3.2 Методичні вказівки з організації самостійної роботи студентів.
- •3.2 Методичні вказівки з організації самостійної роботи студентів.
Лабораторна робота №2
ТЕМА: . Створення клієнт/серверних додатків на Java з використанням UDP сокетів
1.1 Мета роботи: розробити клієнт/серверний додаток, в якому сервер слухає запити клієнтів на порт 1500 та відправляє об'єкт-повідомлення, що містить поточну дату/час сервера та рядок повідомлення.
1.2 Методичні вказівки з організації самостійної роботи студентів.
Java позволяет разрабатывать сетевые приложения с использованием датаграммных сокетов UDP и сокетов TCP/IP. Сокеты UDP используют протокол UDP для взаимодействия приложений через сеть. UDP является быстрым, без установления соединения и ненадежным протоколом. Пакет java.net содержит следующие два класса, позволяющие применять сокеты UDP в приложении Java:
• Класс DatagramPacket
• Класс DatagramSocket
1.2.1Классы DatagramPacket и DatagramSocket
Объект DatagramPacket является контейнером данных, состоящим из датаграммных пакетов, которые посылаются или принимаются через сеть. Следующие конструкторы используются для инициализации объектов DatagramPacket:
•public DatagramPacket(byte[] buffer, int buffer_length): Создает объект DatagramPacket, который принимает и сохраняет данные в массиве byte. Длина буфера массива byte задается вторым параметром buffer_length.
• public DatagramPacket(byte[] buffer, int buffer_length, InetAddress address, int port): Создает объект DatagramPacket, который посылает пакеты данных заданной длины. Пакеты данных посылаются на компьютер с заданным IP адресом и номером порта, передаваемыми как параметры.
Методы, определенные в классе DatagramPacket, могут быть использованы после инициализации объекта класса DatagramPacket. Таблица 2 представляет методы класса DatagramPacket.
Таблица 2. Метод |
Описание |
public InetAddress getAddress() |
Возвращает объект InetAddress, который содержит IP-адрес компьютера, на который посыла-ется датаграммный пакет или от которого принимается датаграммный пакет |
public byte[] getData() |
Возвращает буферный массив byte, который содержит данные |
public int getLength() |
Возвращает длину буферного массива, который содержит данные
|
public int getPort() |
Возвращает номер порта компьютера, на который посылается датаграммный пакет или от которого датаграммный пакет принимается. |
public void setAddress(InetAddress address) |
Устанавливает IP-адрес машины, на которую датаграммный пакет должен быть послан |
public void setData(byte[] buffer) |
Устанавливает массив byte в качестве данных для пакета. |
public void setPort(int port) |
Устанавливает номер порта на удаленном хосте |
public void setLength(int length) |
Устанавливает длину буфера обмена
|
Класс DatagramSocket содержит функциональность для управления объектами DatagramPacket. Объекты DatagramPacket отправляют и принимают сохраненные данные, используя объект DatagramSocket. Следующие конструкторы, используются для инициализации объекта DatagramSocket:
• public DatagramSocket(): Создает объект DatagramSocket и связывает его с любым доступным портом на локальном компьютере.
• public DatagramSocket(int port): Создает объект и связывает его с портом на локальном хосте, заданным в параметре.
• public DatagramSocket(int port, InetAddress address): Создает объект и связывает его с портом заданного хоста.
Конструктор класса DatagramSocket вызывает исключительную ситуацию SocketException.
Таблица 3 представляет методы класса DatagramSocket, которые используются для получения информации из объекта DatagramSocket:
|
Таблица 3. Метод |
Описание |
||||||
---|---|---|---|---|---|---|---|---|
|
public InetAddress getInetAddress()
|
Возвращает объект InetAddress, содержащий IP-адрес, с которым объект DatagramSocket связывается. |
|
|||||
|
public InetAddress getLocalAddress() |
Возвращает объект InetAddress , который содержит IP-адрес локального хоста, с которым объект DatagramSocket связывется. |
|
|||||
|
public int getLocalPort() |
Возвращает целое значение, которое представляет порт локального хоста, с которым объект DatagramSocket связывается. |
|
|||||
public void bind(SocketAddress address) |
Связывает объект DatagramSocket с объектом SocketAddress. |
|
||||||
public void close() |
Закрывает объект DatagramSocket. |
|
||||||
public void connect(InetAddress address, int port) |
Соединяет объект DatagramSocket с заданным IP-адресом и портом. |
|
||||||
|
public void disconnect() |
Разъединяет объект DatagramSocket. |
|
|||||
|
public boolean isBound() |
Возвращает true, если объект DatagramSocket связан с портом. |
|
|||||
|
public boolean isClosed() |
Возвращает true, если объект DatagramSocket закрывается. |
|
|||||
|
public boolean isConnected()
public void receive( DatagramPacket packet)
public void send(DatagramPacket packet)
|
Возвращает true, когда объект DatagramSocket соединяется с IP-адресом. Получает датаграммный пакет от текущего объекта DatagramSocket
Передает датаграммный пакет от текущего объекта DatagramSocket.
|
|