jabber-net onAuthenticated не вызывается

Я использую jabber-net в качестве моего клиента чата xmpp с приложением C#. Сервер чата, который я использую - Apache Vysper 0.7

Я создал чат-клиент, используя следующий код.

 private void ChatOne_Load(object sender, EventArgs e)
    {
        JID jid = new JID("user1@test.com");
        this.chatOneJabberClient.User = jid.User;
        this.chatOneJabberClient.Server = jid.Server;
        this.chatOneJabberClient.Password = "password1";
        //this.chatOneJabberClient.AutoPresence = false;
        //this.chatOneJabberClient.AutoRoster = false;
        //this.chatOneJabberClient.AutoReconnect = -1;
        this.chatOneJabberClient.OnAuthenticate += chatOneJabberClient_OnAuthenticate;
        this.chatOneJabberClient.OnError += chatOneJabberClient_OnError;
        this.chatOneJabberClient.OnReadText += chatOneJabberClient_OnReadText;
        this.chatOneJabberClient.OnWriteText += chatOneJabberClient_OnWriteText;
        this.chatOneJabberClient.Connect();
        this.chatOneJabberClient.Login();
        //done.WaitOne();
    }      

Но то, что я понимаю из документации, приведенной здесь, - это когда клиент подключается и вызывается метод входа, он автоматически вызывает обработчик для OnAuthenticate.

Когда я пытаюсь отправить сообщение

private void button1_Click(object sender, EventArgs e)
    {
        this.chatOneJabberClient.Message("user2@test.com", this.textBox2.Text);
        this.textBox2.Clear();
    }

Выдает и недопустимая операция исключение. Пользователь должен быть аутентифицирован первым.

Дайте мне знать, если вы хотите любую другую информацию.

Когда jabberClient запускается, он вызывает обработчик метода OnWriteText, и в окне чата я вижу следующее:

Send: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" id="cb7f31d2" xmlns="jabber:client" to="test.com" version="1.0">

Дайте мне знать, если вам нужна дополнительная информация.

1 ответ

Я разобрался в проблеме.

Проблема была с моим сервером чата. Я использую Apache Vysper. Я пытался использовать конечную точку веб-сокета. В текущей версии vysper на web-сокете не так много активных разработок. Я изменил его на TcpEndPoint и все хорошо.:)

Другие вопросы по тегам