UDP --- Пользовательский протокол Datagram-это простой протокол транспортного уровня, ориентированного на дейтаграмму. UDP не обеспечивает надежность. Он просто отправляет Datagrams, отправляемые приложениями на IP -уровень, но не гарантирует, что они могут достичь пункта назначения, и при этом он не гарантирует порядок, в котором поступают пакеты данных. Поскольку UDP не нужно устанавливать соединение между клиентом и сервером до передачи данных, и нет механизма, такого как повторная передача тайм -аута, скорость передачи очень быстрая.
Внедрение UDP в Java:
* UDP:
* Клиент:
* 1. Создать объект сокета для связи UDP-Datagramsocket (для отправки и получения данных UDP) --- Datagram
* 2. Подготовка данных, пакет инкапсуляции --- DataGrampacket (пакет данных)
* 3. Отправить данные с помощью метода отправки
* 4. Закройте объект сокета сокета
* Серверная сторона: получение данных
* 1. Создайте объект сокета сокета и свяжите номер порта
* 2. Создать объект пакета, создать пустой массив и подготовиться к получению данных
* 3. Получить данные
* 4. Закройте ресурс
* Метод трансляции UDP:
* Все хосты в одном сегменте могут получить его, при условии, что порт должен прослушать
* Клиент отправляет трансляцию и сервер, который позволяет мониторингу порта получать и печатать сообщения
* Реализация трансляции: трансляция отправляется клиентом и получен сервером
* String host = "255.255.255.255"; // трансляционные адреса-репрессии все хосты
* 10.0.122.255 ---- Представляет, что все хосты, первые три сегмента, 10, 10.0.122
Реализация кода:
Клиент (отправка):
Импорт java.io.ioexception; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.inetadress; импорт java.net.socketException; импорт java.net.unknownhostexception; public class udp_client {public void main (string [] args). Создайте объект // Создайте сокет данных и привяжите его к любому доступному порту на Localhost. DatagramSocket Socket = new DatagramSocket (); // 2. Упаковка байт [] arr = "client: ха -ха ...". GetBytes (); // четыре параметра: длина пакета пакетного номера порта объекта хоста пакета DataGrampacket Packet = new DataGrampacket (arr, arr.length, inetaddress.getbyname ("10.0.122.255"), 4000); // 3. Отправить Socket.send (Packet); // 4. Закрыть ресурсное сокет.close (); }}Серверная сторона (сторона приемника):
import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;import java.util.Arrays;public class UDP_server { public static void main(String[] args) throws IOException { //1 DatagramSocket serverSocket = new DatagramSocket(4000); // 2 байт [] arr = новый байт [1024]; DataGrampacket packet = new DataGrampacket (arr, arr.length); // 3 Когда программа будет запущена, метод приема будет находиться в состоянии прослушивания Serversocket.receive (Packet); // Извлекать данные из байта пакета [] arr1 = packet.getData (); System.out.println (новая строка (arr1)); // 4 serversocket.close (); }}результат:
Первые три сегмента сети представляют собой серверы с номером 4000 порта на всех хостах с номером порта 10.0.122. Пока они открыты, их можно получить-
Клиент: ха -ха. Полем Полем Полем
Вышеуказанная форма вещания, основанная на UDP в Java (пример объяснения) - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.