diff --git a/com/Client.java b/com/Client.java index 5a7300c..9d89a4f 100644 --- a/com/Client.java +++ b/com/Client.java @@ -18,9 +18,9 @@ public class Client { //创建一个流套接字并将其连接到指定主机上的指定端口号 socket = new Socket(host,port); - //读取服务器端数据 + //读取服务器端数据 BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream())); - //向服务器端发送数据 + //向服务器端发送数据 PrintStream out = new PrintStream(socket.getOutputStream()); // System.out.print("请输入: \t"); // String str = new BufferedReader(new InputStreamReader(System.in)).readLine(); @@ -53,8 +53,6 @@ public class Client { " \n" + " \n" + ""; - System.out.println(str.substring(8,str.length()-1)); - System.out.println(str.length()); out.println(str); String ret = input.readLine(); diff --git a/com/engine/service/TJBKWorkFlowService.java b/com/engine/service/TJBKWorkFlowService.java index 36947ff..28e6dc0 100644 --- a/com/engine/service/TJBKWorkFlowService.java +++ b/com/engine/service/TJBKWorkFlowService.java @@ -6,3 +6,5 @@ public interface TJBKWorkFlowService { Integer getToDoCount(Map paramMap); Integer getToReadCount(Map paramMap); } + + diff --git a/com/engine/tjbankSocket/SocketExecute.java b/com/engine/tjbankSocket/SocketExecute.java new file mode 100644 index 0000000..a589217 --- /dev/null +++ b/com/engine/tjbankSocket/SocketExecute.java @@ -0,0 +1,5 @@ +package com.engine.tjbankSocket; + +public interface SocketExecute { + public String execute(String param); +} diff --git a/com/engine/tjbankSocket/impl/GetToCountSocketExecute.java b/com/engine/tjbankSocket/impl/GetToCountSocketExecute.java new file mode 100644 index 0000000..06f18c5 --- /dev/null +++ b/com/engine/tjbankSocket/impl/GetToCountSocketExecute.java @@ -0,0 +1,12 @@ +package com.engine.tjbankSocket.impl; + +import com.engine.tjbankSocket.SocketExecute; +import com.engine.web.tjbk.TJBKWorkFlow; + +public class GetToCountSocketExecute implements SocketExecute { + TJBKWorkFlow tjbkWorkFlow = new TJBKWorkFlow(); + @Override + public String execute(String param) { + return tjbkWorkFlow.getToDoCount(param.toString()); + } +} diff --git a/com/engine/web/tjbk/TjbkServerSocket.java b/com/engine/web/tjbk/TjbkServerSocket.java index 474ae47..52fad62 100644 --- a/com/engine/web/tjbk/TjbkServerSocket.java +++ b/com/engine/web/tjbk/TjbkServerSocket.java @@ -1,5 +1,8 @@ package com.engine.web.tjbk; +import com.engine.tjbankSocket.SocketExecute; +import com.engine.tjbankSocket.impl.GetToCountSocketExecute; +import com.engine.util.XMLUtils; import weaver.general.BaseBean; import weaver.general.StringUtil; @@ -10,6 +13,7 @@ import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.nio.charset.StandardCharsets; +import java.util.Map; public class TjbkServerSocket implements ServletContextListener { private SocketThread socketThread; @@ -100,7 +104,7 @@ class ProcessSocketData extends Thread { public void run() { try { // BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); -// new BaseBean().writeLog("ServerSocket线程启动"); + new BaseBean().writeLog("ServerSocket线程启动"); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(socket.getOutputStream(), StandardCharsets.UTF_8); PrintWriter pw = new PrintWriter(outputStreamWriter); @@ -118,6 +122,7 @@ class ProcessSocketData extends Thread { // String data = new String(arr, 0, length); String requestData = stringBuilder.toString(); + new BaseBean().writeLog("ServerSocket线程启动"); String s = ""; if (!StringUtil.isEmpty(requestData)) { s = new TJBKWorkFlow().getToDoCount(requestData); @@ -133,4 +138,21 @@ class ProcessSocketData extends Thread { System.out.println(e); } } + + + private String execute(String XMLparam){ + Map paramMap = XMLUtils.parseXMLToMap(XMLparam); + //目标系统代码 + String system_id = paramMap.get("system_id"); + // 请求方系统代码 + String requester_id = paramMap.get("requester_id"); + // 请求方机构代号 + String branch_id = paramMap.get("branch_id"); + SocketExecute socketExecute = null; + if ("1".equals(requester_id)){ + socketExecute = new GetToCountSocketExecute(); + } + String execute = socketExecute.execute(XMLparam); + return execute; + } } diff --git a/com/engine/web/tjbk/TjbkWebSocket.java b/com/engine/web/tjbk/TjbkWebSocket.java deleted file mode 100644 index 8beaed0..0000000 --- a/com/engine/web/tjbk/TjbkWebSocket.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.engine.web.tjbk; - -import com.alibaba.druid.util.StringUtils; -import weaver.general.BaseBean; - -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.io.PrintStream; -import java.net.ServerSocket; -import java.net.Socket; - -public class TjbkWebSocket implements ServletContextListener { - public static final int port = 8090;//监听的端口号 - - public static void main(String[] args) { - System.out.println("Server...\n"); - TjbkWebSocket server = new TjbkWebSocket(); - server.init(); - } - - - public void init() { - try { - System.out.println("new ServerSocket"); - //创建一个ServerSocket,这里可以指定连接请求的队列长度 - //new ServerSocket(port,3);意味着当队列中有3个连接请求是,如果Client再请求连接,就会被Server拒绝 - ServerSocket serverSocket = new ServerSocket(port); - while (true) { - //从请求队列中取出一个连接 - Socket client = serverSocket.accept(); - // 处理这次连接 - new HandlerThread(client); - } - } catch (Exception e) { - System.out.println("服务器异常: " + e.getMessage()); - } - } - - @Override - public void contextInitialized(ServletContextEvent servletContextEvent) { - new Thread(new Runnable(){ - @Override - public void run() { - TjbkWebSocket server = new TjbkWebSocket(); - server.init(); - } - }).start(); - - } - - @Override - public void contextDestroyed(ServletContextEvent servletContextEvent) { - - } - - private class HandlerThread implements Runnable { - private Socket socket; - public HandlerThread(Socket client) { - socket = client; - new Thread(this).start(); - } - - @Override - public void run() { - try { - // 读取客户端数据 - BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream())); - StringBuilder sb = new StringBuilder(); - String line = "";//这里要注意和客户端输出流的写方法对应,否则会抛 EOFException - while ((line = input.readLine()) != null || StringUtils.isEmpty(line)) { - // 处理每一行数据 - sb = sb.append(line); - } -// byte[] buffer = new byte[1024]; -// int bytesRead; -// while ((bytesRead = input.read(buffer)) != -1) { -// // 将读取的数据追加到 StringBuilder -// sb.append(new String(buffer, 0, bytesRead)); -// } - - // 处理客户端数据 - new BaseBean().writeLog("客户端发过来的内容:" + sb); - // 业务处理 - // 向客户端回复信息 - PrintStream out = new PrintStream(socket.getOutputStream()); - // 发送键盘输入的一行 -// String s = new BufferedReader(new InputStreamReader(System.in)).readLine(); - String s = new TJBKWorkFlow().getToDoCount(sb.toString()); - out.println(s); - out.close(); - input.close(); - } catch (Exception e) { - System.out.println("服务器 run 异常: " + e.getMessage()); - } finally { - if (socket != null) { - try { - socket.close(); - } catch (Exception e) { - socket = null; - System.out.println("服务端 finally 异常:" + e.getMessage()); - } - } - } - } - } -} \ No newline at end of file diff --git a/rebel.xml b/rebel.xml new file mode 100644 index 0000000..408e789 --- /dev/null +++ b/rebel.xml @@ -0,0 +1,16 @@ + + + + + + TestJrebel + + + + + + +