Не доходят пакеты до игры Unity через udpClient.recive
У меня есть приложение на телефоне которое шлет телеметрию на компьютер в локальной сети по протоколу Udp. Я пробовал делать обработку этих данных в приложении WPF при помощи UdpClient и все отлично работает, то есть данные сто процентов уходят. Но я повторил такой же механизм в Unity и нечего абсолютно не работает.
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using UnityEngine;
public class clienter : MonoBehaviour
{
public int Port;
public string IP;
UdpClient client;
IPEndPoint listenIP;
void Start()
{
try
{
client = new UdpClient(Port);
}
catch (Exception ex)
{
Debug.Log(ex.Message);
}
listenIP = new IPEndPoint(IPAddress.Parse(IP), Port);
new Thread(new ThreadStart(UpdateRoting)).Start();
}
public void UpdateRoting()
{
while (true)
{
try
{
StringBuilder sb = new StringBuilder();
var data = client.Receive(ref listenIP);
var str = Encoding.Unicode.GetString(data, 0, data.Length);
Debug.Log(str);
}
catch (Exception ex)
{
Debug.Log(ex.Message);
}
}
}
}
В дебаге именно на var data = client.Receive(ref listenIP); все и останавливается. В WPF приложении все работает нормально, каджый пакет приходит. И я заметил, что при первом запуске программы с UdpClient спрашивает разрешение для использования частной и общедоступной, а при запуске игры ничего не спрашивает. Я на всякий случай разрешил доступ, но не помогло. Подскажите в чем проблема пожалуйста.