|
6 | 6 | public class DatagramSocketClient { |
7 | 7 |
|
8 | 8 | public static void main(String[] args) throws IOException { |
9 | | - /* Сервер находится на той же машине, где и клиент отправляющий пакет данных */ |
10 | | - InetAddress udpServerAddress = InetAddress.getByName("localhost"); |
11 | | - /* Создаем датаграм-сокет для отправки сообщения. Никаких входящих или исходящих потоков */ |
12 | | - try (DatagramSocket myClientDatagramSocket = new DatagramSocket()){ |
| 9 | + InetAddress udpServerAddress = InetAddress.getByName("localhost"); // Сервер находится на той же машине, где и клиент отправляющий пакет данных |
| 10 | + try (DatagramSocket myClientDatagramSocket = new DatagramSocket()){ // Создаем датаграм-сокет для отправки сообщения. Никаких входящих или исходящих потоков |
13 | 11 | byte[] bytesToSend = "Hello from UDP client!!!".getBytes(); |
| 12 | + |
14 | 13 | /* |
15 | | - В отличие от TCP протокола, в случае UDP мы отправляем пакеты. |
16 | | - Socket в данном случае один и для сервера и для клиента - |
17 | | - DatagramSocket. При отправке пакета мы должны указать место |
18 | | - назначения, т.е. адрес и порт сервера, а так же набор данных |
19 | | - и объем оных. Размер отправляемого массива должен быть заранее |
20 | | - согласован и на отправляющей и на принимающей стороне, чтобы |
21 | | - избежать потери данных. |
22 | | - */ |
23 | | - DatagramPacket sendPacket = |
24 | | - new DatagramPacket(bytesToSend, bytesToSend.length, udpServerAddress, 7777); |
25 | | - /* |
26 | | - Отправляем пакет на сервер. Нас не волнует есть ли он по указанному адресу. |
27 | | - Методы *.receive() и метод *.send() ничего не возвращают они выполняют работу. |
| 14 | + В отличие от TCP протокола, в случае UDP мы отправляем пакеты. Socket в данном случае один и для сервера и для клиента - DatagramSocket. При отправке пакета |
| 15 | + мы должны указать место назначения, т.е. адрес и порт сервера, а так же набор данных и объем оных. Размер отправляемого массива должен быть заранее согласован |
| 16 | + и на отправляющей и на принимающей стороне, чтобы избежать потери данных. |
28 | 17 | */ |
| 18 | + |
| 19 | + DatagramPacket sendPacket = new DatagramPacket(bytesToSend, bytesToSend.length, udpServerAddress, 7777); |
| 20 | + |
| 21 | + /* Отправляем пакет на сервер. Нас не волнует есть ли он по указанному адресу. Методы *.receive() и метод *.send() ничего не возвращают они выполняют работу. */ |
| 22 | + |
29 | 23 | myClientDatagramSocket.send(sendPacket); |
30 | 24 | } |
31 | 25 | } |
|
0 commit comments