clientimpl.java
来自「springGather 在JAVA环境开发的电信运营支持系统」· Java 代码 · 共 98 行
JAVA
98 行
package org.com.gather;
import java.util.*;
import java.io.*;
import java.net.*;
public class ClientImpl implements Client{
private Properties pro = null;
private Log log = null;
private BackUp back = null;
public ClientImpl(Properties pro){
this.pro = pro;
}
public void send(Collection col){
if(!col.isEmpty()){
log.writeDebug("要发送到服务端的数据不为空,大小为 :"+col.size());
OutputStream os = null;
ObjectOutputStream oos = null;
Socket socket = null;
try{
socket = new Socket(pro.getProperty("server"),new Integer(pro.getProperty("port")).intValue());
}catch(UnknownHostException e){
e.printStackTrace();
}catch(IOException e){
log.writeError("连接主机失败!");
back.storeForEmpty(col); log.writeInfo("连接主机失败,把采集到的数据成功备份到文件!");
//如果连接主机失败,则直接退出程序;
System.exit(0);
}
try{
os = socket.getOutputStream();
}catch(IOException e){
e.printStackTrace();
log.writeError("从服务器取 Soket 流出异常!");
System.exit(0);
}
try{
oos = new ObjectOutputStream(os);
oos.writeObject(col);
os.close();
oos.close();
}catch(IOException e){
log.writeError("发送服务器途中出异常;");
back.storeForEmpty(col);
log.writeInfo("发送数据失败,以成功备份到文件!");
System.exit(0);
}
}else{
OutputStream os = null;
ObjectOutputStream oos = null;
Socket socket = null;
log.writeDebug("采集到的数据为空,采用第二种方式发送;");
try{
socket = new Socket(pro.getProperty("server"),new Integer(pro.getProperty("port")).intValue());
}catch(UnknownHostException e){
e.printStackTrace();
}catch(IOException e){
log.writeError("连接主机失败!");
back.storeForEmpty(col); log.writeInfo("连接主机失败,把采集到的数据成功备份到文件!");
System.exit(0);
}
try{
os = socket.getOutputStream();
}catch(IOException e){
e.printStackTrace();
log.writeError("从服务器取 Soket 流出异常!");
System.exit(0);
}
try{
oos = new ObjectOutputStream(os);
log.writeDebug("发各请求给服务端,让服务端自动检测是否有备份数据,有则入库;");
oos.writeObject(col);
os.close();
oos.close();
}catch(IOException e){
log.writeError("发送服务器途中出异常;");
back.storeForEmpty(col);
log.writeInfo("发送数据失败,以成功备份到文件!");
System.exit(0);
}
}
}
public void setLog(Log log){
this.log = log;
}
public void setBackUp(BackUp back){
this.back = back;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?