Можно ли изменить URL-адрес из класса Java, который не является контроллером?
Я написал игру Go, работающую как клиентские и серверные приложения (оба написаны в Java использование сокетов для подключения и обмена информацией в форме сериализованных сообщений). Я запускаю Сервер, два Клиента, они соединяются, и вы можете играть. Клиент запускает один поток javafx и один поток подключения, который отправляет и прослушивает сообщения с сервера, как показано ниже. Сервер запускает два потока, которые прослушивают сообщения от клиентов (решает, какие очереди внутри), так что вы можете сдаться в любой момент во время игры. Если это не ваш ход, ходы и проходы игнорируются.
private void processCommands() throws ClassNotFoundException, IOException {
while (inputStream != null) {
if(!keepRunning) {
socket.close();
break;
}
ServerMessage serverMessage;
serverMessage = (ServerMessage) this.inputStream.readObject();
Platform.runLater(new Runnable() {
@Override
public void run() {
getServerMessage(serverMessage);
}
});
if(serverMessage instanceof EndGame)
keepRunning = false;
}
}
Теперь с javafx я просто вызываю Platform.runLater, а поток javafx получает сообщение и действует в соответствии с ним (например, для Move он помещает кусок белого или черного цвета на доске).
Я хочу попробовать сменить Client на webapp, и я решил использовать Spring MVC (использовал его раньше). Могу ли я изменить представление или URL-адрес из класса подключения клиента? Или есть лучший способ сделать это? Или, может, как-нибудь отправить сообщение контроллеру?