使用HttpWebRequest发送特定数据包

时间:2010-11-22 15:44:25

标签: c# httpwebrequest webclient packet

嘿。是否可以在不使用套接字的情况下从C#应用程序发送数据包?我想使用WebClient或HttpWebRequest将特定格式的数据包发送到服务器。我见过的例子倾向于使用UDP客户端。感谢

2 个答案:

答案 0 :(得分:1)

这取决于“特定格式”的含义。 HttpWebRequest是一个围绕HTTP协议的.Net包装器,它本质上不是UDP,所以除了修改标题等对象数据之外,你不能自定义它发送的数据包。

答案 1 :(得分:0)

您应该查看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);