2014-02-28 124 views
1

所以這是一個非常基本的概念問題,但我是新手。我已經成功打開並連接了我的Windows計算機和Ubuntu燈服務器之間的套接字。我想通過這個套接字發送.txt文件到服務器通過Winsock發送功能。我在哪裏告訴套接字/發送函數將文件放入哪個文件夾?當我連接到服務器時,我只是給了一個IP地址和端口(例如:// 192.168.1.25,通過端口80)並建立了連接。有沒有辦法告訴它把它放在一個特定的位置,如/var/local/storage/folder?我沒有看到任何指定結束位置的套接字連接的發送函數?Winsock發送函數

對不起,如果這是一個新手問題。提前致謝。

回答

0

HTTP客戶端正在使用HTTP協議通過TCP連接與HTTP服務器進行通信。 HTTP協議非常簡單,但在實現一個簡單的HTTP客戶端或服務器時仍然有許多缺陷,所以不要簡單地編寫與TCP連接的代碼並使用HTTP進行通信,而是使用HTTP客戶端庫更容易既爲您提供連接,也爲您提供HTTP協議消息的組合/解釋。一個這樣的流行的跨平臺C庫是libcurl,但在Windows上,您也可以使用平臺特定的WinINet/WinHTTP函數。如果您仍然堅持使用您自己的TCP連接編寫HTTP通信,請查看此答案中的POST HTTP請求,看看如何發送文件上傳的數據:here

如果您想要爲了自己實現一個HTTP客戶端,通過使用WireShark捕獲通信來檢查其他HTTP客戶端(例如瀏覽器)如何與服務器進行通信是明智的。即使您不想實現HTTP協議,至少在基本級別上了解HTTP協議也非常有幫助,即使使用預先燒製的HTTP客戶端,它也會有很大的幫助。