我正在尝试使用 agsxmpp ,但我'm有一些问题。我正在尝试运行此代码:

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

这个编译得很好,但是当我尝试运行它时,没有任何反应。它运行并完成而没有任何错误,但“登录”从未被打印到控制台。我做错了什么?

如果它有所不同,我在Ubuntu 10.04上使用Mono 2.4。

有帮助吗?

解决方案

除非connection.open()块,我怀疑的是,问题就是您的程序击中了主要的终点,因此它是运行和结束的。

如何将其保留免于退出取决于您正在尝试的内容,但是一种方法将是ManualResetEvent:

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

当然,现在你可能有相反的问题,你的应用程序无法完成。

其他提示

我认为问题是端口号。您在连接中没有提供5222或5223。

只是添加console.readline();在线'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对我来说很好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top