改了发送部分的代码 这下真能跑了

This commit is contained in:
lichx 2023-12-20 19:52:51 +08:00
parent 1f3a09c25f
commit fc35589202
4 changed files with 104 additions and 35 deletions

Binary file not shown.

View File

@ -15,6 +15,7 @@ public class DmsNetServer {
public static void main(String[] args) { public static void main(String[] args) {
AcceptLogThread acceptLogThread = new AcceptLogThread(10000); AcceptLogThread acceptLogThread = new AcceptLogThread(10000);
AcceptTranThread acceptTranThread = new AcceptTranThread(10001); AcceptTranThread acceptTranThread = new AcceptTranThread(10001);
System.out.println("Start listening port 10000/10001");
acceptLogThread.start(); acceptLogThread.start();
acceptTranThread.start(); acceptTranThread.start();
} }
@ -46,6 +47,9 @@ class AcceptLogThread extends Thread{
{ {
ois = new ObjectInputStream(socket.getInputStream()); ois = new ObjectInputStream(socket.getInputStream());
ArrayList<MatchedLogRec>matchedLogRecs = (ArrayList<MatchedLogRec>) ois.readObject(); ArrayList<MatchedLogRec>matchedLogRecs = (ArrayList<MatchedLogRec>) ois.readObject();
if (matchedLogRecs == null) {
continue;
}
logRecService.saveMatchLogToDB(matchedLogRecs); logRecService.saveMatchLogToDB(matchedLogRecs);
System.out.println("完成一次日志数据接收"); System.out.println("完成一次日志数据接收");
} }
@ -85,6 +89,9 @@ class AcceptTranThread extends Thread{
{ {
ois = new ObjectInputStream(socket.getInputStream()); ois = new ObjectInputStream(socket.getInputStream());
ArrayList<MatchedTransport>matchedTransports = (ArrayList<MatchedTransport>) ois.readObject(); ArrayList<MatchedTransport>matchedTransports = (ArrayList<MatchedTransport>) ois.readObject();
if (matchedTransports == null) {
continue;
}
transportService.saveMatchTransportToDB(matchedTransports); transportService.saveMatchTransportToDB(matchedTransports);
System.out.println("完成一次物流数据接收"); System.out.println("完成一次物流数据接收");
} }

View File

@ -21,10 +21,7 @@ import javafx.util.Duration;
import java.io.IOException; import java.io.IOException;
import java.io.ObjectOutputStream; import java.io.ObjectOutputStream;
import java.net.InetAddress; import java.net.*;
import java.net.NetworkInterface;
import java.net.Socket;
import java.net.SocketException;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.util.*; import java.util.*;
@ -538,10 +535,14 @@ public class InfoInputFXML {
@FXML @FXML
public void sandData(ActionEvent event) { public void sandData(ActionEvent event) {
boolean doLog=false,doTransport=false; boolean doLog=true,doTransport=true;
if(matchedLogs==null||matchedLogs.isEmpty())
doLog=false;
if(matchedTrans==null||matchedTrans.isEmpty())
doTransport=false;
if((matchedLogs==null||matchedLogs.isEmpty())&&!logRecList.isEmpty()) if((matchedLogs==null||matchedLogs.isEmpty())&&!logRecList.isEmpty())
{ {
doLog=true; doLog = true;
Alert alert = new Alert(AlertType.CONFIRMATION); Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("Warning Dialog"); alert.setTitle("Warning Dialog");
alert.setHeaderText("配对的日志数据为空"); alert.setHeaderText("配对的日志数据为空");
@ -554,23 +555,6 @@ public class InfoInputFXML {
} }
else doLog=false; else doLog=false;
} }
if(doLog)
{
try {
Socket logSocket = new Socket("116.62.133.59",10000);
ObjectOutputStream oos = new ObjectOutputStream(logSocket.getOutputStream());
oos.writeObject(matchedLogs);
oos.flush();
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
logService.saveAndAppendMatchLog(matchedLogs);
//logService.saveMatchLogToDB(matchedLogs);//添加至DB
logRecList.clear();
matchedLogs.clear();
logUpVal=0;
}
if((matchedTrans==null|| matchedTrans.isEmpty())&&!transportList.isEmpty()) if((matchedTrans==null|| matchedTrans.isEmpty())&&!transportList.isEmpty())
{ {
doTransport=true; doTransport=true;
@ -586,25 +570,98 @@ public class InfoInputFXML {
} }
else doTransport=false; else doTransport=false;
} }
if(doTransport) boolean finalDoLog = doLog;
boolean finalDoTransport = doTransport;
Thread thread = new Thread(()->{
Thread thread1=null;
if(finalDoLog)
{ {
try { try {
Socket transSocket = new Socket("116.62.133.59",10001); Socket logSocket = new Socket("116.62.133.59",10000);
ObjectOutputStream oos = new ObjectOutputStream(transSocket.getOutputStream()); ObjectOutputStream oos = new ObjectOutputStream(logSocket.getOutputStream());
oos.writeObject(matchedLogs); oos.writeObject(matchedLogs);
oos.flush(); oos.flush();
oos.close(); oos.close();
} catch (IOException e) { }catch(ConnectException e) {
if(thread1==null)
{
thread1 = new Thread(()->{sandError();});
thread1.start();
}
}
catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
logService.saveAndAppendMatchLog(matchedLogs);
//logService.saveMatchLogToDB(matchedLogs);//添加至DB
logRecList.clear(); logRecList.clear();
matchedLogs.clear(); matchedLogs.clear();
logUpVal=0; logUpVal=0;
} }
if(finalDoTransport)
{
try {
Socket transSocket = new Socket("116.62.133.59",10001);
ObjectOutputStream oos = new ObjectOutputStream(transSocket.getOutputStream());
oos.writeObject(matchedTrans);
oos.flush();
oos.close();
}catch (ConnectException e) {
if(thread1==null)
{
thread1 = new Thread(()->{sandError();});
thread1.start();
}
}
catch (IOException e) {
e.printStackTrace();
}
transportList.clear();
matchedTrans.clear();
logUpVal=0;
}
Platform.runLater(()->{
logImageView.setImage(OKImage);
transportImageView.setImage(OKImage);
logInfoLabel.setText("就绪");
transportInfoLabel.setText("就绪");
logInfoLabel.setTextFill(Color.color(0,0,0,1));
transportInfoLabel.setTextFill(Color.color(0,0,0,1));
});
});
if(doLog||doTransport)
{
logInfoLabel.setTextFill(Color.color(0,0,0,1));
transportInfoLabel.setTextFill(Color.color(0,0,0,1));
logInfoLabel.setText("发送数据中");
transportInfoLabel.setText("发送数据中");
thread.start();
}
} }
void sandError()
{
Platform.runLater(()->
{
logImageView.setImage(errorImage);
transportImageView.setImage(errorImage);
logInfoLabel.setText("发送失败,请检查服务器状态");
logInfoLabel.setText("发送失败,请检查服务器状态");
logInfoLabel.setTextFill(Color.color(1,0,0,1));
transportInfoLabel.setTextFill(Color.color(1,0,0,1));
});
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
throw new RuntimeException(ex);
}
Platform.runLater(()->{
logImageView.setImage(OKImage);
transportImageView.setImage(OKImage);
logInfoLabel.setText("就绪");
transportInfoLabel.setText("就绪");
logInfoLabel.setTextFill(Color.color(0,0,0,1));
transportInfoLabel.setTextFill(Color.color(0,0,0,1));
});
}
@FXML @FXML
public void saveData(ActionEvent event) { public void saveData(ActionEvent event) {
boolean doLog=false,doTransport=false; boolean doLog=false,doTransport=false;

View File

@ -1,5 +1,7 @@
package com.qst.dms.util; package com.qst.dms.util;
import com.qst.dms.ui.MainFrame;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.util.Properties; import java.util.Properties;
@ -10,7 +12,10 @@ public class Config {
try { try {
p = new Properties(); p = new Properties();
//加载配置类 //加载配置类
p.load(new FileInputStream("src/com/qst/dms/db/config/mysql.properties")); //这么写完全不行
// p.load(new FileInputStream("src/com/qst/dms/db/config/mysql.properties"));
//看我的
p.load(MainFrame.class.getClassLoader().getResourceAsStream("com/qst/dms/db/config/mysql.properties"));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }