Search in sources :

Example 1 with Server

use of com.faforever.client.config.ClientProperties.Server in project downlords-faf-client by FAForever.

the class FafServerAccessorImpl method connectAndLogIn.

@Override
public CompletableFuture<LoginMessage> connectAndLogIn(String username, String password) {
    sessionFuture = new CompletableFuture<>();
    loginFuture = new CompletableFuture<>();
    this.username = username;
    this.password = password;
    // TODO extract class?
    fafConnectionTask = new Task<Void>() {

        @Override
        protected Void call() throws Exception {
            while (!isCancelled()) {
                Server server = clientProperties.getServer();
                String serverHost = server.getHost();
                int serverPort = server.getPort();
                logger.info("Trying to connect to FAF server at {}:{}", serverHost, serverPort);
                Platform.runLater(() -> connectionState.set(ConnectionState.CONNECTING));
                try (Socket fafServerSocket = new Socket(serverHost, serverPort);
                    OutputStream outputStream = fafServerSocket.getOutputStream()) {
                    FafServerAccessorImpl.this.fafServerSocket = fafServerSocket;
                    fafServerSocket.setKeepAlive(true);
                    localIp = fafServerSocket.getLocalAddress().getHostAddress();
                    serverWriter = createServerWriter(outputStream);
                    writeToServer(new InitSessionMessage(Version.VERSION));
                    logger.info("FAF server connection established");
                    Platform.runLater(() -> connectionState.set(ConnectionState.CONNECTED));
                    blockingReadServer(fafServerSocket);
                } catch (IOException e) {
                    Platform.runLater(() -> connectionState.set(ConnectionState.DISCONNECTED));
                    if (isCancelled()) {
                        logger.debug("Connection to FAF server has been closed");
                    } else {
                        logger.warn("Lost connection to FAF server, trying to reconnect in " + RECONNECT_DELAY / 1000 + "s", e);
                        Thread.sleep(RECONNECT_DELAY);
                    }
                }
            }
            return null;
        }

        @Override
        protected void cancelled() {
            IOUtils.closeQuietly(serverWriter);
            IOUtils.closeQuietly(fafServerSocket);
            logger.debug("Closed connection to FAF lobby server");
        }
    };
    executeInBackground(fafConnectionTask);
    return loginFuture;
}
Also used : IceServer(com.faforever.client.remote.domain.IceServersServerMessage.IceServer) Server(com.faforever.client.config.ClientProperties.Server) OutputStream(java.io.OutputStream) InitSessionMessage(com.faforever.client.remote.domain.InitSessionMessage) IOException(java.io.IOException) IOException(java.io.IOException) LoginFailedException(com.faforever.client.login.LoginFailedException) JsonSyntaxException(com.google.gson.JsonSyntaxException) Socket(java.net.Socket)

Example 2 with Server

use of com.faforever.client.config.ClientProperties.Server in project downlords-faf-client by FAForever.

the class LoginController method onLoginButtonClicked.

public void onLoginButtonClicked() {
    String username = usernameInput.getText();
    String password = passwordInput.getText();
    boolean autoLogin = autoLoginCheckBox.isSelected();
    Server server = clientProperties.getServer();
    server.setHost(serverHostField.getText());
    server.setPort(Integer.parseInt(serverPortField.getText()));
    Replay replay = clientProperties.getReplay();
    replay.setRemoteHost(replayServerHostField.getText());
    replay.setRemotePort(Integer.parseInt(replayServerPortField.getText()));
    clientProperties.getApi().setBaseUrl(apiBaseUrl.getText());
    login(username, password, autoLogin);
}
Also used : Server(com.faforever.client.config.ClientProperties.Server) Replay(com.faforever.client.config.ClientProperties.Replay)

Aggregations

Server (com.faforever.client.config.ClientProperties.Server)2 Replay (com.faforever.client.config.ClientProperties.Replay)1 LoginFailedException (com.faforever.client.login.LoginFailedException)1 IceServer (com.faforever.client.remote.domain.IceServersServerMessage.IceServer)1 InitSessionMessage (com.faforever.client.remote.domain.InitSessionMessage)1 JsonSyntaxException (com.google.gson.JsonSyntaxException)1 IOException (java.io.IOException)1 OutputStream (java.io.OutputStream)1 Socket (java.net.Socket)1