C# 使用HttpWebRequest发送特定数据包

C# 使用HttpWebRequest发送特定数据包,c#,httpwebrequest,webclient,packet,C#,Httpwebrequest,Webclient,Packet,嘿。不使用套接字就可以从C#应用程序发送数据包吗?我想使用WebClient或HttpWebRequest向服务器发送特定格式的数据包。我看到的示例倾向于使用UDP客户端。谢谢这取决于你所说的“特别格式化”是什么意思。HttpWebRequest是HTTP协议的.Net包装器,本质上不是UDP,因此您不能自定义它发送的数据包,只能修改诸如头等对象数据。这取决于您所说的“特定格式化”的含义。HttpWebRequest是HTTP协议的.Net包装器,本质上不是UDP,因此您不能自定义它发送的数据包

嘿。不使用套接字就可以从C#应用程序发送数据包吗?我想使用WebClient或HttpWebRequest向服务器发送特定格式的数据包。我看到的示例倾向于使用UDP客户端。谢谢

这取决于你所说的“特别格式化”是什么意思。HttpWebRequest是HTTP协议的.Net包装器,本质上不是UDP,因此您不能自定义它发送的数据包,只能修改诸如头等对象数据。

这取决于您所说的“特定格式化”的含义。HttpWebRequest是HTTP协议的.Net包装器,本质上不是UDP,因此您不能自定义它发送的数据包,只能修改诸如头等对象数据。

您应该查看该类,它是为通过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);
byte[]数据=新字节[1024];
字符串有效载荷=”;
IPEndPoint ep=新的IPEndPoint(“127.0.0.1”,1234)//IP+端口
Socket remoteServer=新套接字(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
数据=Encoding.ASCII.GetBytes(有效负载);
remoteServer.SendTo(数据、数据、长度、SocketFlags.None、ep);
您应该看看这个类,它是为通过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);
byte[]数据=新字节[1024];
字符串有效载荷=”;
IPEndPoint ep=新的IPEndPoint(“127.0.0.1”,1234)//IP+端口
Socket remoteServer=新套接字(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
数据=Encoding.ASCII.GetBytes(有效负载);
remoteServer.SendTo(数据、数据、长度、SocketFlags.None、ep);

我明白了。这是否意味着除了HttpWebRequest提供的数据包之外,没有其他方法可以发送更定制的数据包而不使用套接字?谢谢你到底想做什么?比如在局域网上叫醒?那么是的。这绝对必须在套接字中完成。。。看看这个例子是否适合你。。。我遇到过,但它使用插座。我只是好奇它是否可以通过HTTP完成,但显然不行。谢谢你的帮助,我明白了。这是否意味着除了HttpWebRequest提供的数据包之外,没有其他方法可以发送更定制的数据包而不使用套接字?谢谢你到底想做什么?比如在局域网上叫醒?那么是的。这绝对必须在套接字中完成。。。看看这个例子是否适合你。。。我遇到过,但它使用插座。我只是好奇它是否可以通过HTTP完成,但显然不行。谢谢你的帮助。