Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于TCP/IP的java智能文件传输软件的实现_Java_File Io - Fatal编程技术网

基于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,所以这至少不应该是一个问题

      背诵“rsync”,然后看看它如何解决大多数客户的需求。

      继续研究您的提案,当您遇到具体实施问题时,请带着更多问题回到这里。否则,你可能会尝试其他协作网站,比如你可以在那里为你完成设计工作。大多数听起来像是需求问题,而不是技术问题。如果你问的问题范围较小,你可能会在这里得到更好的答案。“经纪人是与其他经纪人沟通的模块”这一点也需要更清晰一些。代理是每台服务器一个吗?每个线程一个?使用TCP(或其他公认的标准)有什么问题?