我想在C中編寫一個客戶端服務器程序在windows中。目標是從服務器接收目錄列表。現在我試圖用這種方式來開發客戶端服務器來利用大部分資源。寫一個ftp客戶端程序來列出服務器上的文件的最佳方法?
一種實現方式是服務器使單個send()調用發送單個文件的信息。所以如果有100個文件,它會打100個電話。但我覺得它浪費了網絡資源。據我所知,Windows中send()或recv()的緩衝區大小爲8kb。但單個文件的信息幾乎不會是1kb。那麼有沒有辦法讓send()調用發送多個文件info(文件信息存儲在結構中,所以它們基本上形成一個鏈表)?可能是我可以在單個Send()調用中發送至少8個文件的信息。這應該會減少總髮送()的呼叫,以最大13.
所以基本上有一種方法來發送鏈接列表通過發送()?如果你能想出任何其他方法,Plz讓我知道。
謝謝,但我需要使用winsock編寫代碼。它實際上是我正在開發的應用程序的一部分。所以在這個方向上的任何想法都會有所幫助。 – Shanty
爲了再一次擊敗這匹死馬,libcurl確實使用了winsock;但是libcurl處理細節。你可能會認爲它是對winsock的封裝。 –