0

という名前のユーザーがtester別のユーザーsanikaを名簿に追加しました。 のサブスクリプション モードsanikaは に設定されていますRoster.SubscriptionMode.accept_all。しかし、彼testerのステータスをチェックすると、. なぜそうなのですか?sanikasubscribe

関数 main でsanika彼女のステータスを設定し、関数connectTestertester で のステータスを取得しようとしますsanika

     public static void main(String[] args) {
         try {
             Connection connection = new XMPPConnection("localhost");
             connection.connect();
             connection.login("sanika", "tester");

             Roster r = connection.getRoster();

             r.setSubscriptionMode(Roster.SubscriptionMode.accept_all);

             Presence p = new Presence(Presence.Type.available);
             p.setStatus("Having Lunch :)");

             connection.sendPacket(p);

             connectTester();

             Thread.sleep(30000);

         }   catch(Exception exc) {
             exc.printStackTrace();
             }   
    }

    public static void connectTester() {
        try {
            Connection connection = new XMPPConnection("localhost");
            connection.connect();
            connection.login("tester", "tester");

            Roster r = connection.getRoster();
            RosterEntry re = r.getEntry("sanika@sanika.com");
            System.out.println(re.getStatus().toString()); 
            // PRINTS SUBSCRIBE

        }catch(Exception exc) {}

どこで間違いを犯していますか?

注:次 testerのように追加sanika

        String group[] = {"Friend List"};
        r.createGroup("Friend List");
        r.createEntry("sanika@sanika.com", "sanika", group);
4

1 に答える 1

0

次のように、2人のユーザーをお互いの名簿に追加します

//subscribe to eachother
connection.login("tester", ...); 
Presence subscribe = new Presence(Presence.Type.subscribe);
subscribe.setTo("sanika@sanika.com");
connection.sendPacket(subscribe);
connection.disconnect();
...                
connection.connect();
connection.login("sanika", ...); 
subscribe = new Presence(Presence.Type.subscribe);
subscribe.setTo("tester@localhost");
connection.sendPacket(subscribe);
connection.disconnect();

sanika@sanika.comsanika@localhost(の最初のloginステートメントmain)の両方を使用しているように見えることにも注意してください。

于 2013-08-19T10:48:07.183 に答える