2016-12-15 113 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服務的某種服務器應用程序。所有這些都可以處理服務器/客戶端通信,並且可以很容易地與您的設備進行通信。