Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中使用UDP发送post请求?_C#_Xamarin_Post_Udp_Udpclient - Fatal编程技术网

如何在C#中使用UDP发送post请求?

如何在C#中使用UDP发送post请求?,c#,xamarin,post,udp,udpclient,C#,Xamarin,Post,Udp,Udpclient,我正在尝试使用UDP协议而不是TCP(由Http使用)发送POST请求 我找到的只是如何使用UDP发送包,但我需要发送一个POST请求 我该怎么做 下面是我用来使用UDP发送字符串的代码: using (var client = new UdpClient()) { client.EnableBroadcast = true; var endpoint = new IPEndPoint

我正在尝试使用UDP协议而不是TCP(由Http使用)发送POST请求

我找到的只是如何使用UDP发送包,但我需要发送一个POST请求

我该怎么做

下面是我用来使用UDP发送字符串的代码:

            using (var client = new UdpClient())
            {
                client.EnableBroadcast = true;
                var endpoint = new IPEndPoint(IPAddress.Broadcast, 15000);
                var message = Encoding.ASCII.GetBytes("Hello World - " + DateTime.Now.ToString());
                await client.SendAsync(message, message.Length, endpoint);
                client.Close();
            }

HTTP请求只是文本,所以构建POST请求并像发送消息一样发送它。 更多关于

请求示例:

POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

field1=value1&field2=value2

您的意思是说“我正在尝试使用UDP协议而不是TCP发送POST请求”吗?如果是,为什么?你很困惑。TCP和UDP在Internet上的传输层是两种不同的协议。HTTP使用TCP作为传输层。POST是HTTP应用层,而不是传输层(TCP或UDP)。因此,如果您发送UDP,它“通常”不会被称为POST。UDP消息可以是任何格式(二进制或字符串)。因此,您的UDP消息可以像HTTP消息一样格式化为html字符串。然后,您必须在收到html字符串时对其进行分析。@jdweng“UDP消息可以是任何格式(二进制或字符串)”-否,UDP数据包仅包含字节。“因此您的UDP消息可以像HTTP消息一样格式化为html字符串”-不,HTTP消息没有格式化为html字符串。“当收到html字符串时,您必须对其进行解析”-不,web服务器不“解析html字符串”,不管这意味着什么。@Maria您认为您为什么需要这样做?您是否有一个web服务器在某个地方监听UDP端口15000?UDP可以包含任何数据二进制或非二进制,包括html。说字符串不是字节是愚蠢的。Html是一个字符串,看起来像是嵌入在HTTP请求中的消息。这不是真正的答案,他们谈论的是UDP,我认为这是不可能的。HTTP请求只是一个文本,所以您可以通过UDP发送文本。那么,为什么不可能呢?请说明如何在UDP中专门做一篇文章。这是不可能的。@Steve你不明白什么?什么是留言?或者UDP可以传输任何消息?当然,您必须具有接收此类消息的能力,但从技术上讲,您可以格式化POST消息并将其发送到任何频道。@CodeCaster理论上并非如此……目前正在使用。。。。HTTP/3是基于UDP的,目前受到多个服务器、CDN和浏览器的支持。