更新IP获取方式
This commit is contained in:
parent
fc35589202
commit
a95bf70560
|
@ -7,6 +7,7 @@ import com.qst.dms.service.TransportService;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
import java.net.ServerSocket;
|
import java.net.ServerSocket;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -15,12 +16,54 @@ 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");
|
EchoIPThread echoIPthread = new EchoIPThread(10002);
|
||||||
|
System.out.println("Start listening port 10000/10001/10002");
|
||||||
acceptLogThread.start();
|
acceptLogThread.start();
|
||||||
acceptTranThread.start();
|
acceptTranThread.start();
|
||||||
|
echoIPthread.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
class EchoIPThread extends Thread{
|
||||||
|
Socket socket;
|
||||||
|
ObjectInputStream ois;
|
||||||
|
ServerSocket serverSocket;
|
||||||
|
LogRecService logRecService;
|
||||||
|
|
||||||
|
EchoIPThread(int port){
|
||||||
|
logRecService = new LogRecService();
|
||||||
|
try{
|
||||||
|
serverSocket = new ServerSocket(port);
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
while(this.isAlive())
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
socket = serverSocket.accept();
|
||||||
|
if(socket!=null)
|
||||||
|
{
|
||||||
|
String ip = socket.getInetAddress().getHostAddress();
|
||||||
|
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
|
||||||
|
oos.writeObject(ip);
|
||||||
|
oos.flush();
|
||||||
|
oos.close();
|
||||||
|
System.out.println("完成一次ip回声");
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
class AcceptLogThread extends Thread{
|
class AcceptLogThread extends Thread{
|
||||||
Socket socket;
|
Socket socket;
|
||||||
ObjectInputStream ois;
|
ObjectInputStream ois;
|
||||||
|
|
|
@ -20,6 +20,7 @@ import javafx.scene.input.MouseEvent;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
import java.net.*;
|
import java.net.*;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
@ -154,6 +155,7 @@ public class InfoInputFXML {
|
||||||
FadeTransition logSuccess;
|
FadeTransition logSuccess;
|
||||||
private Thread errorThread;
|
private Thread errorThread;
|
||||||
private Thread checkerThread;
|
private Thread checkerThread;
|
||||||
|
private Thread setIPThread;
|
||||||
private volatile boolean stopRequested = false;
|
private volatile boolean stopRequested = false;
|
||||||
private Image OKImage;
|
private Image OKImage;
|
||||||
private Image errorImage;
|
private Image errorImage;
|
||||||
|
@ -760,7 +762,13 @@ public class InfoInputFXML {
|
||||||
textField.setStyle("-fx-text-fill: #666");
|
textField.setStyle("-fx-text-fill: #666");
|
||||||
logUser.setText(loginUser);
|
logUser.setText(loginUser);
|
||||||
logID.setText(""+min_id);
|
logID.setText(""+min_id);
|
||||||
|
Thread thread = new Thread(()->{
|
||||||
|
while(setIPThread.isAlive());
|
||||||
|
Platform.runLater(()->{
|
||||||
logIP.setText(defaultIP);
|
logIP.setText(defaultIP);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
thread.start();
|
||||||
Arrays.fill(textFieldChanged,false);
|
Arrays.fill(textFieldChanged,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -843,22 +851,23 @@ public class InfoInputFXML {
|
||||||
label.setTextFill(Color.color(1,0,0,0));
|
label.setTextFill(Color.color(1,0,0,0));
|
||||||
logLabelSuccess.setTextFill(Color.color(0,1,0,0));
|
logLabelSuccess.setTextFill(Color.color(0,1,0,0));
|
||||||
transportLabelSuccess.setTextFill(Color.color(0,1,0,0));
|
transportLabelSuccess.setTextFill(Color.color(0,1,0,0));
|
||||||
try {
|
setIP();
|
||||||
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
|
// try {
|
||||||
while (interfaces.hasMoreElements()) {
|
// Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
|
||||||
NetworkInterface iface = interfaces.nextElement();
|
// while (interfaces.hasMoreElements()) {
|
||||||
// 过滤回环接口和虚拟接口
|
// NetworkInterface iface = interfaces.nextElement();
|
||||||
if (iface.isLoopback() || iface.isVirtual() || !iface.isUp()) {
|
// // 过滤回环接口和虚拟接口
|
||||||
continue;
|
// if (iface.isLoopback() || iface.isVirtual() || !iface.isUp()) {
|
||||||
}
|
// continue;
|
||||||
Enumeration<InetAddress> addresses = iface.getInetAddresses();
|
// }
|
||||||
while (addresses.hasMoreElements()) {
|
// Enumeration<InetAddress> addresses = iface.getInetAddresses();
|
||||||
defaultIP = addresses.nextElement().getHostAddress();
|
// while (addresses.hasMoreElements()) {
|
||||||
}
|
// defaultIP = addresses.nextElement().getHostAddress();
|
||||||
}
|
// }
|
||||||
} catch (SocketException e) {
|
// }
|
||||||
e.printStackTrace();
|
// } catch (SocketException e) {
|
||||||
}
|
// e.printStackTrace();
|
||||||
|
// }
|
||||||
OKImage = new Image("resources/ok.png");
|
OKImage = new Image("resources/ok.png");
|
||||||
errorImage = new Image("resources/error.png");
|
errorImage = new Image("resources/error.png");
|
||||||
logImageView = new ImageView();
|
logImageView = new ImageView();
|
||||||
|
@ -878,6 +887,24 @@ public class InfoInputFXML {
|
||||||
thread.start();
|
thread.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setIP() {
|
||||||
|
setIPThread = new Thread(()->{
|
||||||
|
try {
|
||||||
|
Socket socket = new Socket("116.62.133.59",10002);
|
||||||
|
String ip = (String) (new ObjectInputStream(socket.getInputStream())).readObject();
|
||||||
|
defaultIP = ip;
|
||||||
|
}catch(ConnectException e) {
|
||||||
|
;
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
setIPThread.start();
|
||||||
|
}
|
||||||
|
|
||||||
void setPhotos()
|
void setPhotos()
|
||||||
{
|
{
|
||||||
for(int i=0;i<topButtons.length;i++)
|
for(int i=0;i<topButtons.length;i++)
|
||||||
|
|
Reference in New Issue