Я работаю над простой системой входа в систему клиент/сервер, и у меня возникают проблемы с получением моего сервера для прослушивания правильных данных, отправляемых клиентом. На моем клиенте у меня есть методы sendRegistrationData() и sendLoginData(), и на моем сервере у меня есть waitForRegistrationData() и waitForLoginData(). Код в этих методах хорош и делает то, что они должны делать, но мой сервер, похоже, не может сказать, когда ждать регистрационных данных или данных входа и либо работает через оба метода ожидания, либо переходит к первому, и игнорирует второй.Получение ServerSocket, чтобы узнать, какие данные прослушать для
Например, у меня есть этот метод;
private void waitForData() {
setupClient();
waitForRegistrationData();
waitForLoginData();
}
Это было обработано регистрационными данными, а затем обрабатывало данные входа, даже если я только отправил данные для входа. Поэтому я решил попробовать и обойти это, я бы написал int на сервер для sendRegistrationData и sendLoginData, например clientOut.writeInt (1) для sendRegistrationData и clientOut.writeInt (2) для sendLoginData, а затем на стороне сервера я бы сделал int, как показано ниже, чтобы сообщить серверу, как различать эти два;
private void waitForData() {
setupClient();
try {
if (serverIn.readInt() == 1)
waitForRegistrationData();
if (serverIn.readInt() == 2)
waitForLoginData();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
Это работало отлично вчера вечером, но по какой-то причине перестал работать, и когда я пытаюсь войти в систему, как только я начинаю клиент, он просто возвращает нуль, потому что кажется, что сервер не достигает waitForLoginData потому waitForRegistrationData над ним, или так я догадываюсь.
Как я могу узнать, должен ли мой сервер прослушивать регистрационные данные или данные для входа? here's an Imgur ссылка, показывающая мой мой клиент/сервер в действии прошлой ночью, когда она работала по назначению. Прямо сейчас, если я попытаюсь сделать «Вход без регистрации», как видно на этом снимке, это вызовет проблемы, которые я только что сказал, где сервер просто не прослушивает данные для входа.
Надеюсь, я объяснил свою проблему достаточно, чтобы кто-то знал, о чем я говорю. Мне было трудно объяснить эту проблему. Благодарю.
int data = serverIn.readInt(); \t \t \t переключатель (данные) { \t \t \t Случай 1: \t \t \t \t waitForRegistrationData(); \t \t \t \t break; \t \t \t Случай 2: \t \t \t \t waitForLoginData(); \t \t \t \t break; \t \t \t} \t \t \t \t \t \t работал идеально. Благодарю. – FUBAR