Почему я не могу подключиться к Google Talk в agsXMPP? - PullRequest
3 голосов
/ 10 июля 2010

Я пытаюсь начать использовать agsXMPP , но у меня возникли некоторые проблемы.Я пытаюсь запустить этот код:

using System;
using agsXMPP;

namespace TestAgs
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            XmppClientConnection connection = new XmppClientConnection ();
            connection.OnLogin += delegate {
                Console.WriteLine ("logged in");
            };
            connection.Server = "gmail.com";
            connection.ConnectServer = "talk.google.com";
            connection.Username = "my username"; // I tried both with and without '@gmail.com'
            connection.Password = "my password";
            connection.Open();
        }
    }
}

Это компилируется нормально, но когда я пытаюсь запустить его, ничего не происходит.Он запускается и завершается без ошибок, но «залогиненный» никогда не выводится на консоль.Что я делаю не так?

Если это имеет значение, я использую Mono 2.4 на Ubuntu 10.04.

Ответы [ 4 ]

4 голосов
/ 10 июля 2010

Если не блокируется connection.Open (), в чем я сомневаюсь, проблема в том, что ваша программа достигает конца main, и поэтому она выполняется и завершается.

То, как вы хотите предотвратить его выход, зависит от того, что вы пытаетесь сделать, но одним из способов будет ManualResetEvent:

var mre = new System.Threading.ManualResetEvent (false);
mre.WaitOne ();

Конечно, теперь у вас может быть противоположная проблема, ваше приложение не может завершиться.

1 голос
/ 25 октября 2010

просто добавьте Console.ReadLine (); после строки 'connection.Open ();'

1 голос
/ 10 июля 2010

Я думаю, проблема в номере порта.Вы не указали 5222 или 5223 в соединении.

0 голосов
/ 05 августа 2012
// connection.Server = "gmail.com";
connection.ConnectServer = "talk3.l.google.com"; OR
connection.ConnectServer = "talk2.l.google.com";
connection.Username = "my username"; // I tried both with and without '@gmail.com'
connection.Password = "my password";
connection.Open();

talk3.l.google отлично сработало для меня.

...