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