2010-04-21 38 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”,然后看看它如何解决您的大部分客户需求。