C# - Как прослушать UDP-пакеты на указанном c порту? - PullRequest
0 голосов
/ 16 апреля 2020

Я использую следующий код для прослушивания, но он не получает мои пакеты. Я отправляю пакеты и могу получать пакеты UDP только тогда, когда использую другую утилиту для их получения.

Unity script

private UdpClient Client = new UdpClient(9217);
...
// Start:
Client.BeginReceive(new AsyncCallback(recv), null); // ? Here the error occurs.

private void recv(IAsyncResult res)
{
    try
    {
        IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 9217);
        byte[] received = Client.EndReceive(res, ref RemoteIpEndPoint);
        Debug.Log("Data received:" + Encoding.ASCII.GetString(received));
        Client.BeginReceive(new AsyncCallback(recv), null);
    }
    catch (Exception e)
    {
        Debug.LogError(e);
    }
}

В указанной строке возникает исключение когда я играю в игру в редакторе Unity:

Object reference not set to an instance of an object

Есть ли другой способ выполнить эту очень простую работу, используя C# (или используя библиотеки Unity)?

...