增量备份软件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ClientFileTcpSend.java:(客户端文件传输代码)

package socketBakUp;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import .Socket;

import .UnknownHostException;

import java.security.MessageDigest;

import java.util.Timer;

import java.util.TimerTask;

public class ClientFileTcpSend extends Socket{

private Socket client; // Socket-客户端

private String ip="";

/**

* 构造器

*

* @param ip 服务端IP地址

* @param report 服务端开放的端口

* @throws UnknownHostException

* @throws IOException

*/

public ClientFileTcpSend(String ip,Integer report) throws Exception { super(ip, report);

t his.ip=ip;

this.client = this;

if (client.getLocalPort()>0) {

socketBakUp.logger.debug("ClientFile[port:" +

client.getLocalPort() + "] 成功连接服务端2"+ip);

}else{

socketBakUp.logger.debug("服务器2连接失败");

}

}

public void sendFile(String filePath) {

DataOutputStream dos = null; // 上传服务器:输出流

FileInputStream fis = null; // 读取文件:输入流

DataInputStream dis = null; // 获取:客户端输出流

String clientMd5=ScMd5.getMD5(filePath);

int length = 0;

// 获取:上传文件

File file = new File(filePath);

// ==================== 节点:文件是否存在 ====================

if (file.exists()) {

// 发送:1文件名称、2文件长度

try {

dos = new DataOutputStream(client.getOutputStream());

dis = new DataInputStream(client.getInputStream());

dos.writeUTF("UserPswd::"+socketBakUp.clientUser+"_"+socketBakUp.clientPswd );

dos.flush();

socketBakUp.logger.debug("Socket客户端:向服务器"+ip+"发送用户名和密码:"+socketBakUp.clientUser+"_"+socketBakUp.clientPswd);

String tongguo = dis.readUTF();

socketBakUp.logger.debug("Socket客户端:向服务器"+ip+"获取服务端反馈:"+tongguo);

} catch (Exception e2) {

socketBakUp.logger.error("Socket客户端:向服务器2 1.读取输出流发生错误"+e2.toString());

e2.printStackTrace();

}

try {

String ClientFilePath="";

if(socketBakUp.judgeOsIswinodws){

ClientFilePath=file.getAbsolutePath().replace(":", "$");

}else{

ClientFilePath=file.getAbsolutePath();

}

dos.writeUTF(ClientFilePath+"::"+clientMd5);

dos.flush();

socketBakUp.logger.debug("Socket客户端:向服务器2"+ip+"发送客户端文件名:"+ClientFilePath);

} catch (Exception e3) {

socketBakUp.logger.error("Socket客户端:2.向服务器2"+ip+"发送文件名发生错误"+e3.toString());

e3.printStackTrace();

}

相关文档
最新文档