Я пытаюсь создать P2P (UDP) приложение Windows 10 UWP, написанное на c ++, используя сетевую библиотеку, написанную на C (пробовал и enet, и libuv).
Проблема в том, что когда приложение работает как клиент, все работает как положено, но когда я тестирую серверную часть, приложение отказывается принимать какие-либо события (соединение в enet и сообщения из libuv). Я попробовал код из простых консольных приложений, и он работает как для enet, так и для libuv!
Также я добавил правила в брандмауэр, чтобы разрешить все на порте по умолчанию.
У меня вопрос: нужно ли делать дополнительные настройки для приложения UWP для получения?
Согласно вашему описанию на вашем та же нить в MSDN сервер и клиент находятся на одном устройстве.
Согласно примечанию DatagramSocket официальный образец:
Сетевые коммуникации с использованием IP-адреса обратной связи обычно не могут использоваться для межпроцессного взаимодействия между приложением универсальной платформы Windows (UWP) и другим процессом (другим приложением UWP или настольным приложением), поскольку это ограничено сетевой изоляцией.
Мы не можем связать приложение uwp с другими приложениями на одном компьютере. Даже с освобождением от петель. Это как дизайн. Если вы используете консольный проект c # в качестве сервера и приложение uwp в качестве клиента, они могут успешно взаимодействовать. Но для этого нужно выполнить специальные шаги (например, запустить консоль от имени администратора), что может привести к тому, что вы будете соответствовать требованиям. Подробности вы можете ссылаться эта тема.
Других решений пока нет …