Я искал интернет в течение недели или двух, чтобы найти клиентскую программу UDP, которая может отправлять и получать в одно и то же время, но на эту тему нет ничего для C#. В последние несколько дней я попытался создать UDP-клиент с потоком, который получает.C# udp не может принять
Отправка UDP-пакетов отлично работает, но программа не может получить для отправленного мной сервера, я считаю, что сервер отправляет все пакеты в другой порт.
Как исправить эту программу?
Есть ли более простой способ программирования UDP, например StreamReader и StreamWriter для TCP?
static void CONNECTudp()
{
Console.WriteLine("Host:");
IPAddress ipAddress = Dns.Resolve(Console.ReadLine()).AddressList[0];
Console.WriteLine("Port:");
int Port = int.Parse(Console.ReadLine());
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, Port);
Thread UDPthread = new Thread(() => CONNECTudpthread(ipEndPoint));
UDPthread.Start();
UdpClient udp = new UdpClient();
do
{
Byte[] sendBytes = Encoding.ASCII.GetBytes(Console.ReadLine());
udp.Send(sendBytes, sendBytes.Length, ipEndPoint);
} while (true);
}
static void CONNECTudpthread(IPEndPoint ipEndPoint)
{
UdpClient udp = new UdpClient();
do
{
try
{
Byte[] receiveBytes = udp.Receive(ref ipEndPoint);
string returnData = Encoding.ASCII.GetString(receiveBytes);
Console.WriteLine(returnData);
}
catch (Exception)
{
}
} while (true);
}