Отправить конкретные пакеты с HttpWebRequest - PullRequest
1 голос
/ 22 ноября 2010

Эй.Можно ли отправить пакет из приложения C # без использования сокетов?Я хотел бы использовать WebClient или HttpWebRequest для отправки на сервер специально отформатированных пакетов.Примеры, которые я видел, имеют тенденцию использовать клиент UDP.Спасибо

Ответы [ 2 ]

1 голос
/ 22 ноября 2010

Это зависит от того, что вы подразумеваете под «Специально отформатированный».HttpWebRequest - это .Net-оболочка для протокола HTTP, который по своей природе не является UDP, поэтому вы не можете настраивать отправляемые им пакеты, кроме изменения данных объекта, таких как заголовки и т. Д.

0 голосов
/ 22 ноября 2010

Обратите внимание на класс IPEndPoint , он предназначен для отправки данных в конечную точку сети по IP и адресу порта.Вот простой пример, см. Ссылку для более подробной информации и более длинный пример с проверкой ошибок.

byte[] data = new byte[1024];
string payload = "<Enter Your Payload Here>";
IPEndPoint ep = new IPEndPoint("127.0.0.1", 1234); //IP + Port

Socket remoteServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
data = Encoding.ASCII.GetBytes(payload);
remoteServer.SendTo(data, data.Length, SocketFlags.None, ep);
...