基于TCP/IP的java智能文件传输软件的实现
你能回答其中一些问题吗基于TCP/IP的java智能文件传输软件的实现,java,file-io,Java,File Io,你能回答其中一些问题吗 谢谢既然你说你的客户不想使用FTP,我假设你将编写自己的协议。似乎这些问题中有许多与功能规范更相关,您应该向您的客户提出这些问题,以便为您的项目获得更好的需求。考虑到这一点,以下是您的一些问题的想法/意见: 我们如何保证文件在目的地收到?在文件传输完成后,让协议包含某种ACK/NAK消息 如果第一次没有收到文件,我们应该再试一次(即使在重启或断电后)?这听起来更像是应该由客户指定的功能需求。如果他们想要可靠的传输,那么是的,我认为某种类型的重新传输是合理的(可能在一些失
谢谢既然你说你的客户不想使用FTP,我假设你将编写自己的协议。似乎这些问题中有许多与功能规范更相关,您应该向您的客户提出这些问题,以便为您的项目获得更好的需求。考虑到这一点,以下是您的一些问题的想法/意见:
- 我们如何保证文件在目的地收到?在文件传输完成后,让协议包含某种ACK/NAK消息
- 如果第一次没有收到文件,我们应该再试一次(即使在重启或断电后)?这听起来更像是应该由客户指定的功能需求。如果他们想要可靠的传输,那么是的,我认为某种类型的重新传输是合理的(可能在一些失败之后退出)
- 接收者如何知道收到的文件是完整的?您可以让协议在传输之前发送有关文件的某种数据,例如MD5哈希,客户端可以根据接收到的字节检查该数据(回到问题1,如果哈希匹配,则发送ACK/NAK)
- 如何同步传输多个文件?同样,如果您正在编写协议,请将其作为规范的一部分。例如,“服务器将发送字节,列出要传输的文件数,后跟每个文件的名称,后跟每个文件的字节数。”因此,您的服务器可能会发送“2,foo.txt,bar.txt,512,1024,[1516字节的数据]”
- 如何在多个操作系统平台之间进行互操作?我认为您需要更具体地回答这个问题,互操作是什么意思?我能想到的一切都应该用Java抽象出来(即文件系统访问、原始套接字通信等)
- 身份验证呢?与可靠性一样,这似乎更像是客户指定的功能需求
- 审核/记录?如上所述,客户想要什么
- 归档?如上所述,客户想要什么
- 如何在多个操作系统平台之间进行互操作?您说过您正在使用Java,所以这至少不应该是一个问题