如何修复xmpp协议中的“ connection.connect()”错误?

时间:2019-05-11 14:38:28

标签: java xmpp smack

我在连接服务器中的支持中心时遇到问题。 我正在使用connection.connect()方法连接到服务器,但是它带有null返回值。 在这里它是一个负责启动应用程序端与服务器连接的方法,对我来说,出现了空指针异常返回。 也许这是一个简单的问题,但是我是一名新程序员,所以...

        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();
    }

0 个答案:

没有答案