更新IP获取方式
This commit is contained in:
parent
fc35589202
commit
a95bf70560
src/com/qst/dms
|
@ -7,6 +7,7 @@ import com.qst.dms.service.TransportService;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
|
@ -15,12 +16,54 @@ public class DmsNetServer {
|
|||
public static void main(String[] args) {
|
||||
AcceptLogThread acceptLogThread = new AcceptLogThread(10000);
|
||||
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();
|
||||
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{
|
||||
Socket socket;
|
||||
ObjectInputStream ois;
|
||||
|
|
|
@ -20,6 +20,7 @@ import javafx.scene.input.MouseEvent;
|
|||
import javafx.util.Duration;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.net.*;
|
||||
import java.sql.ResultSet;
|
||||
|
@ -154,6 +155,7 @@ public class InfoInputFXML {
|
|||
FadeTransition logSuccess;
|
||||
private Thread errorThread;
|
||||
private Thread checkerThread;
|
||||
private Thread setIPThread;
|
||||
private volatile boolean stopRequested = false;
|
||||
private Image OKImage;
|
||||
private Image errorImage;
|
||||
|
@ -760,7 +762,13 @@ public class InfoInputFXML {
|
|||
textField.setStyle("-fx-text-fill: #666");
|
||||
logUser.setText(loginUser);
|
||||
logID.setText(""+min_id);
|
||||
Thread thread = new Thread(()->{
|
||||
while(setIPThread.isAlive());
|
||||
Platform.runLater(()->{
|
||||
logIP.setText(defaultIP);
|
||||
});
|
||||
});
|
||||
thread.start();
|
||||
Arrays.fill(textFieldChanged,false);
|
||||
}
|
||||
|
||||
|
@ -843,22 +851,23 @@ public class InfoInputFXML {
|
|||
label.setTextFill(Color.color(1,0,0,0));
|
||||
logLabelSuccess.setTextFill(Color.color(0,1,0,0));
|
||||
transportLabelSuccess.setTextFill(Color.color(0,1,0,0));
|
||||
try {
|
||||
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
|
||||
while (interfaces.hasMoreElements()) {
|
||||
NetworkInterface iface = interfaces.nextElement();
|
||||
// 过滤回环接口和虚拟接口
|
||||
if (iface.isLoopback() || iface.isVirtual() || !iface.isUp()) {
|
||||
continue;
|
||||
}
|
||||
Enumeration<InetAddress> addresses = iface.getInetAddresses();
|
||||
while (addresses.hasMoreElements()) {
|
||||
defaultIP = addresses.nextElement().getHostAddress();
|
||||
}
|
||||
}
|
||||
} catch (SocketException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
setIP();
|
||||
// try {
|
||||
// Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
|
||||
// while (interfaces.hasMoreElements()) {
|
||||
// NetworkInterface iface = interfaces.nextElement();
|
||||
// // 过滤回环接口和虚拟接口
|
||||
// if (iface.isLoopback() || iface.isVirtual() || !iface.isUp()) {
|
||||
// continue;
|
||||
// }
|
||||
// Enumeration<InetAddress> addresses = iface.getInetAddresses();
|
||||
// while (addresses.hasMoreElements()) {
|
||||
// defaultIP = addresses.nextElement().getHostAddress();
|
||||
// }
|
||||
// }
|
||||
// } catch (SocketException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
OKImage = new Image("resources/ok.png");
|
||||
errorImage = new Image("resources/error.png");
|
||||
logImageView = new ImageView();
|
||||
|
@ -878,6 +887,24 @@ public class InfoInputFXML {
|
|||
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()
|
||||
{
|
||||
for(int i=0;i<topButtons.length;i++)
|
||||
|
|
Reference in New Issue