小编use*_*547的帖子

连接丢失后恢复文件上传/下载(套接字编程)

我正在编写一个程序,使用套接字编程在客户端和服务器之间下载/上传文件.我写的代码到目前为止,我可以成功地传输文件.但是,如果在发生下载/上传时由于网络/客户端/服务器中的问题导致连接失败..我需要从原始点恢复下载/上传(不希望重新发送最初发送的数据).我不知道该如何解决这个问题.我正在将文件读入字节数组并通过网络发送.我最初的想法是,每次我下载..我应该检查文件是否已经存在并将数据读入字节数组 - >将数据发送到服务器进行比较,然后通过服务器文件返回剩余的数据比较两个字节数组.但这似乎效率低下并且不再重新开始下载(因为我再次发送数据).注意:文件名是唯一标识符.如果有人能就我应该如何实现文件恢复功能给我建议,我真的很感激?

Server side code:
    package servers;
    import java.io.*;
    import java.net.*;
    import java.util.Arrays;
    public class tcpserver1 extends Thread
    {
        public static void main(String args[]) throws Exception 
    {
        ServerSocket welcomeSocket = null;
        try
        {
             welcomeSocket = new ServerSocket(5555);
             while(true)
             {
                 Socket socketConnection = welcomeSocket.accept();
                 System.out.println("Server passing off to thread");
                 tcprunnable tcprunthread = new tcprunnable(socketConnection);
                 Thread thrd = new Thread(tcprunthread);
                 thrd.start();
                 System.out.println(thrd.getName());
             }
        }
         catch(IOException e){
             welcomeSocket.close();
             System.out.println("Could not connect...");
         }
      }
}
class tcprunnable implements Runnable
{
    Socket socke;
    public …
Run Code Online (Sandbox Code Playgroud)

java sockets resume tcp client-server

1
推荐指数
1
解决办法
8457
查看次数

标签 统计

client-server ×1

java ×1

resume ×1

sockets ×1

tcp ×1