Я пытаюсь создать сервер udp, который получает данные от многих клиентов.Когда я пытаюсь получить удаленную конечную точку клиента после получения данных на сервере из свойства SocketAsyncEventArgs.RemoteEndpoint ... он возвращает значение NULL.Но все сообщения переданы правильно.Я проверяю это на своем локальном компьютере.
Вот мой код на стороне сервера:
static Socket FlashUDP = new Socket(AddressFamily.InterNetworkV6,
SocketType.Dgram, ProtocolType.Udp);
static IPEndPoint rec_ipep = new IPEndPoint(IPAddress.Parse("fe80:0:0:0:e8dd:
c141:d9ab:80f3%12"), 14086);
static SocketAsyncEventArgs Sock_Args = new SocketAsyncEventArgs();
static byte[] dataHolder = new byte[8];
static void Main2(string[] args)
{
Sock_Args.Completed += Sock_Args_Completed;
Sock_Args.SetBuffer(dataHolder, 0, 4);
FlashUDP.Bind(rec_ipep as EndPoint);
Console.WriteLine("Reciving.. v2");
FlashUDP.ReceiveAsync(Sock_Args);
}
private static void Sock_Args_Completed(object sender, SocketAsyncEventArgs e)
{
if(e.RemoteEndPoint == null)
{
Console.WriteLine("Remote end point is null");
}
}
/* Output:
Reciving.. v2
Remote end point is null*/
Это ошибка или есть другие способы сделать то же самое?Спасибо!