Введение в UDP в Rust
Протокол UDP передает отдельные пакеты с данными без предварительного рукопожатия, как у потокового TCP. Каждая отправка несет свой адрес назначения и кусок байт, а получатель читает то, что пришло из сети, когда датаграмма дошла.
В стандартной библиотеке для этого есть тип сокета в модуле сетевых примитивов. Его создают на локальном адресе и порте, чтобы ОС знала, куда доставлять входящие датаграммы для этой программы.
Отправка указывает адрес получателя и срез байт. Прием кладет содержимое в буфер и возвращает, сколько байт прочитано и с какого адреса они пришли. Ответ обычно уходит на тот же адрес, что пришел вместе с пакетом.
Дальше привяжем сокет к порту на
127.0.0.1, отправим байты на другой
порт, прочитаем пакет с адресом отправителя,
ответим ему и покажем простой обмен двух
сторон без постоянного соединения.