no message

master
rengp 2 years ago
parent 836f2b40af
commit 7132ead78b

@ -53,8 +53,6 @@ public class Client {
" </request>\n" + " </request>\n" +
" </Service_Body>\n" + " </Service_Body>\n" +
"</Service>"; "</Service>";
System.out.println(str.substring(8,str.length()-1));
System.out.println(str.length());
out.println(str); out.println(str);
String ret = input.readLine(); String ret = input.readLine();

@ -6,3 +6,5 @@ public interface TJBKWorkFlowService {
Integer getToDoCount(Map<String,String> paramMap); Integer getToDoCount(Map<String,String> paramMap);
Integer getToReadCount(Map<String,String> paramMap); Integer getToReadCount(Map<String,String> paramMap);
} }

@ -0,0 +1,5 @@
package com.engine.tjbankSocket;
public interface SocketExecute {
public String execute(String param);
}

@ -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());
}
}

@ -1,5 +1,8 @@
package com.engine.web.tjbk; 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.BaseBean;
import weaver.general.StringUtil; import weaver.general.StringUtil;
@ -10,6 +13,7 @@ import java.io.*;
import java.net.ServerSocket; import java.net.ServerSocket;
import java.net.Socket; import java.net.Socket;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Map;
public class TjbkServerSocket implements ServletContextListener { public class TjbkServerSocket implements ServletContextListener {
private SocketThread socketThread; private SocketThread socketThread;
@ -100,7 +104,7 @@ class ProcessSocketData extends Thread {
public void run() { public void run() {
try { try {
// BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 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); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(socket.getOutputStream(), StandardCharsets.UTF_8);
PrintWriter pw = new PrintWriter(outputStreamWriter); PrintWriter pw = new PrintWriter(outputStreamWriter);
@ -118,6 +122,7 @@ class ProcessSocketData extends Thread {
// String data = new String(arr, 0, length); // String data = new String(arr, 0, length);
String requestData = stringBuilder.toString(); String requestData = stringBuilder.toString();
new BaseBean().writeLog("ServerSocket线程启动");
String s = ""; String s = "";
if (!StringUtil.isEmpty(requestData)) { if (!StringUtil.isEmpty(requestData)) {
s = new TJBKWorkFlow().getToDoCount(requestData); s = new TJBKWorkFlow().getToDoCount(requestData);
@ -133,4 +138,21 @@ class ProcessSocketData extends Thread {
System.out.println(e); System.out.println(e);
} }
} }
private String execute(String XMLparam){
Map<String, String> 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;
}
} }

@ -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());
}
}
}
}
}
}

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This is the JRebel configuration file. It maps the running application to your IDE workspace, enabling JRebel reloading for this project.
Refer to https://manuals.jrebel.com/jrebel/standalone/config.html for more information.
-->
<application generated-by="intellij" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_3.xsd">
<id>TestJrebel</id>
<classpath>
<dir name="D:/Project/TestJrebel/out/production/TestJrebel">
</dir>
</classpath>
</application>
Loading…
Cancel
Save