Как исправить ошибку «connection.connect ()» в протоколе xmpp? - PullRequest
0 голосов
/ 11 мая 2019

У меня проблемы с подключением суперпорта на сервере. Я использую метод connection.connect () для подключения к серверу, но вместо этого он имеет нулевой возврат. здесь это метод, отвечающий за запуск приложения и конец соединения с сервером, между тем, мне кажется, возвращение исключения из нулевого указателя. Может быть, это простой вопрос, но я новый программист, так что ...

        System.out.print("login (user@domain):");
        username = scanner.nextLine();

        validateUsernameAndDomain();

        System.out.print("password: ");
        password = scanner.nextLine();

        if(!connect()){
            System.out.println("Error here!!!");
            return false;
        }

        afterConnected();

        sendMessageLoop();
        return true;
    }

    private boolean connect() {
        try {
            configBuilder
                    .setUsernameAndPassword(username, password)
                    .setResource("desktop")
                    .setXmppDomain(domain)
                    .setHost(domain);

            connection = new XMPPTCPConnection(configBuilder.build());
            connection.setReplyTimeout(5000);
            //System.out.println(connection.getStreamId());

            chatManager = ChatManager.getInstanceFor(connection);

            try{
                connection.connect();
            }catch(XMPPException xmppe){
                System.err.println("Error on level protocol: "+xmppe);
            }

            chatManager.addIncomingListener(this);

            System.out.println("Successful connected on XMPP server");

        } catch (SmackException | IOException | InterruptedException e) {
            System.out.println("Error : "+e.getMessage());
            return false;
        }

        roster = Roster.getInstanceFor(connection);

        Roster.setDefaultSubscriptionMode(Roster.SubscriptionMode.accept_all);

        return login();
    }
...