В настоящее время я пытаюсь go из-за кода на GitHub для UDP-сервера UDP. DNS-сервер предназначен для обеспечения прокси-подобного поведения MITM, поэтому я могу просматривать, перенаправлять или блокировать пакеты DNS. Читая код, я увидел две функции, которые выглядят очень похожими, но я не могу понять разницу между ними. Я пытался просмотреть документацию Microsoft, но это также не помогло мне понять разницу. Это фрагмент кода, на который я ссылаюсь. Рассматриваемый проект, который я читаю, можно найти здесь: Переносимый прокси-сервер DNS
public byte[] directRead()
{
byte[] msg = client.Receive(ref ep);
return msg;
}
public void read()
{
Console.WriteLine("Initializing Read");
client.BeginReceive(new AsyncCallback(recvAsync), null);
Console.WriteLine("Read async started");
}
В этом случае переменная с именем client является просто экземпляром класса UdpClient и переменной ep является экземпляром класса IPEndPoint.