Поддерживаются ли SocketAsyncEventArgs в Unity 5.6.3p2

Я создал сетевой API, который я использую в своих приложениях. При компиляции проекта Unity и запуске в автономном проигрывателе Windows я получаю следующие исключения, которые не позволяют моему приложению отправлять / получать пакеты udp.

 NotSupportedException: Operation is not supported.
  at System.Net.Sockets.SocketAsyncEventArgs.DoOperation 
(SocketAsyncOperation operation, System.Net.Sockets.Socket socket) [0x00000] 
in <filename unknown>:0 
  at System.Net.Sockets.Socket.ReceiveFromAsync 
(System.Net.Sockets.SocketAsyncEventArgs e) [0x00000] in <filename 
unknown>:0 
  at DivergentNetwork.DnlUdpClient.BeginReceive () [0x00000] in <filename 
unknown>:0 
  at DivergentNetwork.DnlUdpClient.Start () [0x00000] in <filename 
unknown>:0 
  at UdpClient.Start () [0x00000] in <filename unknown>:0 

Я думаю, что это как-то связано с отдельным игроком, но я не могу точно понять, что это такое. Я знаю это, потому что могу успешно запустить приложение в Unity Editor без ошибок.

Если класс SAEA окажется неподдерживаемым с Unity, то что будет предпочтительной альтернативой?

1 ответ

Вам нужно изменить уровень совместимости на .NET 2.0.

Выберите " Файл" -> " Настройки сборки", затем выберите свою платформу. Нажмите на настройки проигрывателя. Перейдите в другие настройки справа. В раскрывающемся меню " Уровень совместимости API" измените его на .NET 2.0 вместо .NET 2.0 Subset.

Другие вопросы по тегам