Проект обмена UDP сообщениями

Сборка проекта:
Открыть проект в Visual Studio 2015 или выше.
Либо перенести код в другую нужную IDE.

1) Выбрать нужные настройки сборки перед компиляцией (32/64 и т.д.)
   Все используемые библиотеки есть в комплекте с C++, ничего дополнительно
   скачивать ненужно.

2) Выбрать для какого протокола выполнить сборку:
UDP (v4), UDP v6 или обоих режимов (v6 с инкапсуляцией v4)
Для этого раскомментировать один из трех настраиваемых в коде define'ов:
MODE_IPV4  - для UDP
MODE_IPV6  - для UDPv6
MODE_IPvA  - для UDPv6  с инкапсуляцией

3) Собрать проект - выбрать какой сервер компилировать и скомпилировать его в exe.

Запуск проекта:
Добавление -h через командную строку CMD Windows выведет сообщение помощи:

C:\DATA\files\UDP_server_client\Release\UDP_server.exe -h
This version is built as   UDP4  version
Application can run in 2 main modes:
        -s   as server
        -c   as a client
SERVER MODE arguments:
  call conversion 1
        1)  address  port
        2)  port
                where port - is portnum to listen for incoming datagramms. used 64000  if omitted
                     address - IP-address, or hostname which should be used for opening port. used  127.0.0.1 if omitted

CLIENT MODE arguments:
  [ address [port]]
                where address - hostname or IP or other name of server to connect to. "localhost" is used if omitted
                       port - port number to establish connection. 64000  is used if omitted

- - -

Запуск как сервера:
UDP_server.exe
открыть для системы на заданном порту 65000 в случае udpv6
UDP_server.exe -s ::0 65000
в случае udpv4
UDP_server.exe -s 0.0.0.0 65000
можно открыть localhost c заданным портом 63000, тогда вызов будет (для udpv6 и udpv4):
UDP_server.exe -s  63000
можно без -s части:
UDP_server.exe -s  63000

Если не дать агрументов, тогда по умолчанию будет:
localhost 64000

Запуск как клиента:
UDP_server.exe  -c
без агрументов будет стучаться в localhost 64000
UDP_server.exe  -c address
тогда будет стучаться в address по порту 64000

UDP_server.exe  -c address port
будет стучаться по адресу в порт

Пример для udpv6:
запустили сервер на всех интерфейсах:
UDP_server.exe -s ::0 60123

с того же хоста стучим клиентом
UDP_server.exe -c localhost  60123
или, узнав из ipconfig "Локальный IPv6-адрес" (Например адрес fe80::286d:b068:ef81:b74c%13 )
UDP_server.exe -c fe80::286d:b068:ef81:b74c%13 60123
