【发布时间】:2020-08-29 20:58:22
【问题描述】:
我正在使用 spring boot 和 angular,并且我有一个 angular 方法,它调用 spring boot 来启动服务器。 服务器运行后,经过一段时间未定义,我必须通过向 spring boot 发送一些请求来停止服务器。 我该怎么做?服务器正在运行无限循环,它侦听客户端连接。 有没有办法发送一些虚假的客户请求并说 - 嘿,客户说“停止”,所以停止?或者有没有类似的?
这是我的控制器方法:
@RequestMapping(value = "/server")
public void startServer() throws SQLException, IOException {
server.Server.server();
}
这是服务器:
public static void server() throws IOException {
ServerSocket ss = new ServerSocket(PORT);
Log.log("Server initialized on port " + PORT);
listRooms = new ArrayList<>();
Room room = new Room("Principal");
addRoom(room);
while (true) {
Socket socket = ss.accept();
Log.log("Established connection with " + socket.getInetAddress().getHostAddress());
new Thread(new User(socket, room)).start();
}
}
这很快就会成为一个很好的客户,但还不是:
public static void client() throws IOException {
NetworkManager net;
net = NetworkManager.getInstance();
net.setServer("127.0.0.1", 2014);
net.send("NICK " + "User");
new Thread(new Runnable() {
@Override
public void run() {
net.listenServer();
}
}).start();
}
欢迎任何建议!提前致谢!
【问题讨论】:
标签: java angular spring-boot sockets serversocket