use of com.cas.sim.tis.message.handler.LoginMessageHandler in project TeachingInSimulation by ScOrPiOzzy.
the class LoginController method processLogin.
@FXML
public void processLogin() {
errorMessage.setText("");
// 0、验证登录信息的完整性
if (StringUtils.isEmpty(userId.getText())) {
setErrorMsg(resources.getString("login.account.notnull"));
return;
}
if (StringUtils.isEmpty(password.getText())) {
setErrorMsg(resources.getString("login.password.notnull"));
return;
}
String address = "";
int port = 0;
Properties prop = new Properties();
try {
prop.load(new FileInputStream("application.properties"));
address = prop.getProperty("server.base.address");
port = Integer.parseInt(prop.getProperty("server.base.port"));
} catch (Exception e) {
LOG.error("文件application.properties读取失败", e);
throw new RuntimeException(e);
}
boolean success = SocketUtil.INSTENCE.connect(address, port);
if (success) {
loginBtn.setDisable(true);
// 注册消息及消息处理类
LoginMessageHandler loginMessageHandler = new LoginMessageHandler();
ClientMessageListener.INSTENCE.registerMessageHandler(LoginMessage.class, loginMessageHandler);
loginMessageHandler.setLoginUIController(this);
ClientMessageListener.INSTENCE.registerMessageHandler(SerializerRegistrationsMessage.class, new SerializerRegistrationsMessageHandler());
ClientMessageListener.INSTENCE.registerMessageHandler(ExamMessage.class, new ExamMessageHandler());
SocketUtil.INSTENCE.start();
// 3、项服务器发送登录消息
LoginMessage msg = new LoginMessage();
msg.setUserCode(userId.getText());
msg.setUserPwd(password.getText());
SocketUtil.INSTENCE.send(msg);
} else {
loginBtn.setDisable(false);
setErrorMsg(resources.getString("server.connect.failure"));
}
}
Aggregations