资源简介
本资源是利用swing界面替换jsp实现的客户端程序。
代码片段和文件信息
package xiaocheng.com.ConcentratorServer;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.ByteBuffer;
import org.apache.log4j.Logger;
import xiaocheng.com.utils.Constant;
import xiaocheng.com.utils.xmlUtils;
/**
* socket服务端对象。
*/
public class ConcentratorServer {
/**
* @parameter log 日志类定义
*/
static Logger log = Logger.getLogger(ConcentratorServer.class.getSimpleName());
/**
* 要处理客户端发来的对象,并返回一个对象,可实现该接口。
*/
public interface objectAction{
byte[] doAction(byte[] rev);
}
/**
*
* TODO 处理客户端请求数据
* @author XCCD
*
上午9:26:26
*/
public static class DefaultobjectAction implements objectAction{
/**
* 处理请求对象流
*/
public byte[] doAction(byte[] rev) {
byte[] returnData = new byte[]{0x00(byte) 0xFF};
log.info(“服务端--->返回给客户端数据:\t“+xmlUtils.ByteToString(returnData));
//返回操作结果
return returnData;
}
}
public static void main(String[] args) {
log.info(“|--------------------程序开始运行---------------------------|“);
int port = 1000;//端口
ConcentratorServer server = new ConcentratorServer(port);//初始化端口
server.start();
}
//全局属性
private int port;
private volatile boolean running=false;
private long receiveTimeDelay=2*60*1000;//接收消息延迟时间
// private long receiveTime = 20*1000;//数据延迟
private Thread connWatchDog;
private Thread handWatchDog;
/**
* 构造方法
* @param port
*/
public ConcentratorServer(int port) {
this.port = port;
}
/**
*
* TODO 启动socket
*
下午4:33:24
*
XCCD
*/
public void start(){
if(running)return;
running=true;
connWatchDog = new Thread(new ConnWatchDog());
connWatchDog.start();//启动线程,用于创建socket通信线程
}
/**
* 停止socket服务
*/
@SuppressWarnings(“deprecation“)
public void stop(){
if(running)running=false;
if(connWatchDog!=null)connWatchDog.stop();
}
/**
*
* TODO 连接维持看门狗线程可以维护多个线程集合
* @author XCCD
*
下午4:34:15
*/
class ConnWatchDog implements Runnable{
public void run(){
try {
//创建socket通信实例
ServerSocket ss = new ServerSocket(port);
//循环读取通信信道数据
while(running){
log.info(“|--------------------等待客户端连接--------------------|“);
Socket s = ss.accept();//利用阻塞收取数据
log.info(“|--------------------“+s.getRemoteSocketAddress()+“\t已连接!--------------------|“ );
//主动向客户端发送连接帧和校验密码
handWatchDog = new Thread(new GetVersionAndCheckPwd(s));
handWatchDog.start();
handWatchDog.join();//等待线程执行完毕
//业务操作线程必须握手成功后才能执行,否则无效
new Thread(new SocketAction(s)).start();
}
} catch (Exception e) {
e.printStackTrace();
ConcentratorServer.this.stop();
}
}
}
/**
*
* TODO socket通信线程
* @au
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 701 2016-11-16 17:53 ConcentorSSM\.classpath
文件 310 2016-11-14 16:02 ConcentorSSM\.myme
文件 1931 2016-11-14 16:02 ConcentorSSM\.project
文件 508 2016-08-30 16:24 ConcentorSSM\.settings\.jsdtscope
文件 56 2016-08-30 16:24 ConcentorSSM\.settings\com.genuitec.eclipse.j2eedt.core.prefs
文件 52 2016-11-15 15:40 ConcentorSSM\.settings\org.eclipse.core.runtime.prefs
文件 664 2016-08-30 16:32 ConcentorSSM\.settings\org.eclipse.jdt.core.prefs
文件 106 2016-08-31 10:04 ConcentorSSM\.settings\org.eclipse.ltk.core.refactoring.prefs
文件 90 2016-08-30 16:24 ConcentorSSM\.settings\org.eclipse.m2e.core.prefs
文件 595 2016-08-31 10:12 ConcentorSSM\.settings\org.eclipse.wst.common.component
文件 206 2016-11-14 16:28 ConcentorSSM\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2016-08-30 16:24 ConcentorSSM\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2016-08-30 16:24 ConcentorSSM\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 249 2016-08-29 11:44 ConcentorSSM\.settings\org.maven.ide.eclipse.prefs
文件 59464 2016-11-16 17:53 ConcentorSSM\libs\RXTXcomm.jar
文件 1743059 2016-11-15 16:01 ConcentorSSM\libs\substance.jar
文件 43178 2016-11-16 18:56 ConcentorSSM\logs\SwingOfConcentrator.log
文件 2019 2016-11-15 19:03 ConcentorSSM\logs\SwingOfConcentrator.log.2016-11-15
文件 853 2016-11-15 15:17 ConcentorSSM\person.sql
文件 9479 2016-11-16 17:52 ConcentorSSM\pom.xm
文件 10508 2016-11-15 15:40 ConcentorSSM\src\main\java\xiaocheng\com\ConcentratorServer\ConcentratorServer.java
文件 3897 2016-11-15 15:41 ConcentorSSM\src\main\java\xiaocheng\com\ConcentratorServer\GetVersionAndCheckPwd.java
文件 91 2016-11-15 15:29 ConcentorSSM\src\main\java\xiaocheng\com\ConcentratorServer\readme.txt
文件 332 2016-11-15 16:08 ConcentorSSM\src\main\java\xiaocheng\com\img\importdir_wiz.gif
文件 64906 2016-11-15 16:08 ConcentorSSM\src\main\java\xiaocheng\com\img\logo.jpg
文件 999 2016-11-15 09:33 ConcentorSSM\src\main\java\xiaocheng\com\mybatisfactory\MybatisUtil.java
文件 811 2016-11-16 16:22 ConcentorSSM\src\main\java\xiaocheng\com\mybatisfactory\SpringBeanFactory.java
文件 687 2016-11-15 16:03 ConcentorSSM\src\main\java\xiaocheng\com\resource\.svn\all-wcprops
文件 740 2016-11-15 16:03 ConcentorSSM\src\main\java\xiaocheng\com\resource\.svn\entries
文件 724 2016-11-15 16:03 ConcentorSSM\src\main\java\xiaocheng\com\resource\.svn\text-ba
............此处省略185个文件信息
评论
共有 条评论