Я пытаюсь отправить HTTP-запрос GET с UDP (поскольку ответ от прослушивающего сервера не имеет значения, и я не хочу блокировать программу)
Это код:
System.Net.Sockets.UdpClient client = new System.Net.Sockets.UdpClient();
client.Connect("www.domainname.com", 80);
string request_header = "GET /ping.php HTTP/1.1\r\nHost: www.domainname.com\r\n\r\n";
byte[] stre = System.Text.Encoding.ASCII.GetBytes(request_header);
client.Send(stre, stre.Length);
System.Net.IPEndPoint RemoteIpEndPoint = new System.Net.IPEndPoint(System.Net.IPAddress.Any, 0);
byte[] receiveBytes = client.Receive(ref RemoteIpEndPoint);
string returnData = System.Text.Encoding.ASCII.GetString(receiveBytes);
client.Close();
Во-первых, кажется, что запрос не получен на сервере, поэтому я думаю, что, возможно, что-то идет не так при отправке?Во-вторых, программа висит на client.Receive (ref RemoteIpEndPoint) и просто ждет там.Похоже, данные не получены.
Я пытался изменить ...
System.Net.IPEndPoint(System.Net.IPAddress.Any, 0);
на ...
System.Net.IPEndPoint(System.Net.IPAddress.Any, 80);
... но безуспешно.