Por que não consigo me conectar ao Google Talk no agsXMPP?
Pergunta
Estou tentando começar a usar agsXMPP, mas estou tendo alguns problemas.Estou tentando executar este código:
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();
}
}
}
Isso compila bem, mas quando tento executá-lo, nada acontece.Ele é executado e concluído sem erros, mas "logado" nunca é impresso no console.O que estou fazendo de errado?
Se fizer diferença, estou usando o Mono 2.4 no Ubuntu 10.04.
Solução
A menos que connection.Open() bloqueie, o que duvido, o problema é que seu programa chega ao final do main e, portanto, termina a execução e termina.
Como você deseja evitar que ele saia depende do que você está tentando fazer, mas uma maneira seria um ManualResetEvent:
var mre = new System.Threading.ManualResetEvent (false);
mre.WaitOne ();
Claro, agora você pode ter o problema oposto, não há como seu aplicativo terminar.
Outras dicas
Acho que o problema é o número da porta.Você não forneceu 5222 ou 5223 na conexão.
basta adicionar Console.ReadLine();após a linha 'connection.Open();'
// 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
funcionou bem para mim.