2010-04-21 42 views
0

您能否提供其中一些答案?在TCP/IP上使用java實現智能文件傳輸軟件

感謝

+4

繼續處理您的建議,並在遇到實施特定問題時回到此處,提出更多問題。否則,您可以嘗試其他協作網站,例如http://www.topcoder.com/,您可以在其中爲您完成設計工作。 – Ernelli 2010-04-21 12:04:38

+0

其中大部分聽起來像需求問題,而不是技術問題。如果你問一個較小範圍的問題,你可能會在這裏得到更好的答案。 – 2010-04-21 12:49:08

+0

「經紀人是與其他經紀人交流的模塊」也可以使用更清晰一點。每個服務器是一個經紀人嗎?每個線程一個? – 2010-04-21 12:53:17

回答

2

既然你說你的客戶不希望使用FTP,我假設你會寫自己的協議。似乎這些問題中的一部分與功能規格更相關,您應該將這些問題提交給客戶以獲得更好的項目需求。考慮到這一點,您可以針對您的某些問題提出意見/評論:

  • 我們應該如何保證在目的地接收文件?文件傳輸完成後,協議是否包含某種ACK/NAK消息。
  • 如果第一次沒有收到文件,我們應該再試一次(即使在重啓或斷電後)?這聽起來更像是客戶應該指定的功能要求。他們是否希望可靠的傳輸,那麼是的,我會認爲某種類型的重傳是合理的(可能會在發生一些故障後退出)。
  • 接收器如何知道接收的文件已完成?您可以讓協議在傳輸之前發送有關文件的某種數據,例如客戶端可以根據接收到的字節檢查MD5散列(如果散列匹配,回到問題1發送ACK/NAK)
  • 我們如何同步傳輸多個文件?同樣,如果您正在編寫協議,請將其作爲規範的一部分。例如,「服務器將發送要傳輸的文件的字節列表數量,然後是每個文件的名稱,然後是每個文件的字節數。」因此,您的服務器可能會發送「2,foo.txt,bar.txt,512,1024,[1516字節的數據]」
  • 如何在多個操作系統平臺之間進行互操作?我認爲你需要對這個問題更具體,你的意思是通過互操作?我能想到的所有東西都應該由Java抽象出來(即文件系統訪問,原始套接字通信等)
  • 身份驗證如何?就可靠性而言,這似乎更像是客戶指定的功能要求。
  • 審計/記錄?如上所述,客戶想要什麼?
  • 存檔?如上所述,客戶想要什麼?
0
  • 如何多個操作系統平臺之間的互操作一個?你說你使用的是Java,所以這不應該是一個問題,至少。
0

瞭解「rsync」,然後看看它如何解決您的大部分客戶需求。