2016-12-15 187 views
0

我目前正在研究一个简单的应用程序,使我的生活更轻松。我制作了一个android应用程序,让我选择一个文件并将其上传到服务器。我正在开发一个Windows PC C#应用程序,它将其IP(动态)及其开放端口发送到我的服务器。 每当服务器从我的手机收到文件时,我都希望它向我的PC发送POST请求。c#客户端如何接收http POST?

我对网络的东西相当新(虽然之前我已经完成了大量的编码),但据我了解,只有服务器可以接收POST请求。 如何使我的PC上运行一个具有动态IP的C#服务器并接收POST请求?

我一直在努力与此一段时间,只是简单的关键字,我应该研究将是非常有益的,谢谢。

+0

如果您希望服务器响应您的客户端,您可能需要查看SignalR。 –

+0

你也可以使用Postman来测试RESTful api。 – Johnny

回答

0

HTTP是一种让Web服务器和客户端进行通信的协议。它要求你有一个Web服务器(IIS,Apache或其他)来响应客户端的http请求。

客户端可以发送GET,POST和其他请求类型的消息。

最好的方法是发送一个使用WebClient类的Web客户端。下面是Andrew

string URI = "site.com/mail.php"; 
using (WebClient client = new WebClient()) 
{ 
    System.Collections.Specialized.NameValueCollection postData = 
     new System.Collections.Specialized.NameValueCollection() 
     { 
       { "to", emailTo }, 
       { "subject", currentSubject }, 
       { "body", currentBody } 
     }; 
    string pagesource = Encoding.UTF8.GetString(client.UploadValues(URI, postData)); 
} 
0

从给出另一个答案抽取的样本我想创建使用的WebAPI,SignalIR,WCF或ASMX Web服务的某种服务器应用程序。所有这些都可以处理服务器/客户端通信,并且可以很容易地与您的设备进行通信。