- Проблема: клиент больше не будет подключаться к серверу.
- Мне нужны различные объекты пользовательского интерфейса, которые инициализируются в методе start моего класса Application в моем main.Как передать их на главную?
Полная справка: Моя цель с этим приложением - создать маленькую игру, в которую смогут играть несколько человек.Это будет действительно просто с несколькими кнопками и метками, и в конце концов должен быть способ взаимодействия игроков.Я также хочу, чтобы эта игра была доступна через сервер, чтобы у каждого игрока была учетная запись, состоящая из имени пользователя и пароля.Поскольку я новичок в Java-программировании, я знаю, что - в данный момент - полностью вне моей лиги.Но я стараюсь понемногу изучать все, что мне нужно для того, чтобы туда добраться.
Важная часть: мне удалось локально соединить сервер и клиента с помощью пользовательского интерфейса, но я не смог заставить свою программу создать учетные записи, который должен храниться в моей "AccountDatabase".Это привело к тому, что никто не смог успешно «войти» (здесь имитируется вход в систему с отображением сообщения «войти успешно!»). Попытался это исправить, обнаружил, что мне нужно использовать потоки для нескольких клиентов, и переписал свойКод почти полностью.Теперь я даже не могу подключить клиента к серверу ... Я перепробовал так много всего и переписал столько кода, что больше не знаю, что происходит.Я был бы чрезвычайно признателен, если бы кто-то здесь мог взглянуть на мой, вероятно, очень грязный код, чтобы увидеть, что мне нужно сделать здесь.
Код моего основного класса:
открытый класс Main extends Application{
@Override
public void start(Stage primaryStage) {
LoginUI loginUI = new LoginUI(primaryStage);
loginUI.setScene(primaryStage, loginUI.getScene());
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
InetAddress ip = null;
try {
ip = InetAddress.getByName("localhost");
} catch (UnknownHostException e) {
e.printStackTrace();
}
Client client = new Client(ip, 9376);
loginUI.getSignUpUI().setSignUpButtonAction(client);
//how do I get the instance of LoginUI instantiated in the start-Method?
}
}
Ожидаемый результат: клиент подключается к серверу, пользовательский интерфейс (LoginUI) отображается с гиперссылкой, которая перенаправляет на (SignUpUI).Эта сцена должна позволить пользователю ввести имя пользователя и пароль, проверить «AccountDataBase» для уже существующих учетных записей с этим именем пользователя и, наконец, создать учетную запись, если это возможно.Вернувшись в (LoginUI), пользователь также должен иметь возможность ввести имя пользователя и пароль, которые сравниваются с данными учетной записи в моей «AccountDataBase» и позволяют пользователю войти в систему.
Фактические результаты: клиент не будетподключиться к серверу после переписывания кода для использования потоков.Самое большее, что я получил, это установление соединения, но не удалось создать новые учетные записи, так как введенная пользователем учетная дата, вероятно, не была сохранена в AccountDataBase ...
Если вы сделали это так далекоВам, вероятно, понадобится увидеть код других классов, которые я написал.Я просто не публиковал их, потому что Stackoverflow сказал мне не публиковать целые файлы ... Не стесняйтесь, дайте мне знать, если вам понадобится больше кода!