2011-01-11 31 views
1

我想在C中創建一個允許兩個用戶共享文件的應用程序。我會打電話給發送文件的人服務器和接收者客戶端。有一些要求:簡單文件傳輸

  • 用戶不需要標識,不需要「登錄」。你可以說他們對我的應用程序是未知的。
  • 服務器選擇要傳輸的文件,並返回一個簡單的~10個字符的ID字符串/散列,客戶端可以使用該字符串/散列來檢索文件。
  • 相同的應用程序用於服務和接收。
  • 我的應用程序不需要運行在遠程服務器上的專用軟件,除非它是免費的(例如,bittorrent跟蹤程序)。

現在這聽起來很像bittorrent,我正在認真考慮通過bittorrent來做到這一點。我不知道我會如何做到這一點。是否有任何好的圖書館的洪流創建/播種/下載?

請回答任何一個問題:

  • 提出一個可行的替代方案的BitTorrent /其他的想法。
  • 發佈BitTorrent協議的良好庫/段/實現在C.
+1

Receiving * .... – 2011-01-11 11:27:19

+2

如果您只是在兩方之間傳輸文件,它聽起來很像bittorrent。 – nos 2011-01-11 11:53:29

回答

0

另一種解決方案是通過IRC服務器(如Freenode)發送文件。在使用bittorrent打開端口時遇到麻煩後,我想出了這個解決方案。

0

這的確聽起來像一些與BitTorrent的最好的做法。你有沒有看過libbt?它沒有很好的記錄,但包含一個示例客戶端,它是/ src /中的btget.c。

+0

是的,我已經找到了它,但我仍然在尋找替代品有兩個原因:糟糕的文檔和GPL。 – orlp 2011-01-11 12:02:06

0

我已經找到這個圖書館:rasterbar libtorrent。它是用C++編寫的,但我不介意(反正我也不太清楚)。

如果其他人正在尋找與我相同的東西,請在此共享以供將來參考。