用UDP實現在網路上傳輸檔案的問題。

2021-09-08 23:29:29 字數 844 閱讀 9268

用udp實現在網路上傳輸檔案的問題。 delphi / windows sdk/api

最近在學通過udp在網路上傳輸檔案的咚咚,有幾個疑惑的地方始終沒能弄明白,希望各位大俠能幫忙指點迷津。  

我寫了乙個檔案傳輸的測試列子,1個idudpserver做為服務端,2個idudpclient做為客戶端,實現內容是server能接收2個client同時傳送的2個不同的檔案。  

但idudpclient沒有connect過程,那是不是需要我們自己寫連線過程呢。要不然隨便用乙個client向server傳送乙個隨意的資料報,服務端都需要做出響應那不是亂套了。就如乙個client正在向server傳送檔案資料報,如果這個時候用另外乙個沒有連線的client向server傳送乙個帶有同樣包頭,但資料體是錯誤資料的檔案資料報,那服務端不是也要接收這些資料,並將錯誤資料寫入檔案了。  

疑問2:因為是server同時在接收2個client傳送的檔案。我在server建立了乙個userlist來記錄連線的客戶端,userlist中的一條記錄對應乙個客戶端和乙個檔案。但這樣每次接收到資料報都需要遍歷一次userlist,以便確認需要把檔案資料寫入哪個檔案裡面?感覺好像不應該這樣,乙個資料報就遍歷一次,那多個檔案同時傳輸,遍歷次數就更多了,勢必會消耗很多cpu資源。不知道這有沒有什麼好的解決方法。  

疑問3:我看到一些udp可靠資料傳輸的帖子,裡面大都採用了滑動視窗協議。idudpserver和idudpclient中是否已經採用了這個協議,還是說需要自己另外寫呢。  

udp模擬tcp?有這個必要??  

那就自己根據tcp協議弄udp的應用協議了

用win   socket   api自己做,少用元件(尤其是當你不了解他的實現細節的時候)

Linux下用UDP實現檔案傳輸

原文 udp程式設計框圖 udp協議中伺服器和客戶端的互動存在於資料的收發過程中。進行網路資料收發的時候,伺服器和客戶端的資料是對應的 客戶端傳送資料的動作,對伺服器來說是接收資料的動作 客戶端接收資料的動作,對伺服器來說是傳送資料的動作。實現檔案的傳輸大概分為這幾個步驟 客戶端讀檔案,將內容放在c...

用C 實現Web檔案的上傳

在web程式設計中,我們常需要把一些本地檔案上傳到web伺服器上,上傳後,使用者可以通過瀏覽器方便地瀏覽這些檔案,應用十分廣泛。那麼使用c 如何實現檔案上傳的功能呢?下面筆者簡要介紹一下。首先,在你的visual c web project中增加乙個上傳用的web form,為了要上傳檔案,需要在t...

用C 實現Web檔案的上傳

在 web程式設計中,我們常需要把一些本地 檔案上傳到 web伺服器上,上傳後,使用者可以通過瀏覽器方便地瀏覽這些 檔案,應用十分廣泛。那麼使用c 如何 實現檔案 上傳的功能呢?下面筆者簡要介紹一下。首先,在你的visual c web project 中增加乙個 上傳用的 web form,為了要...