mono - 为什么我无法在 agsXMPP 中连接到 Google Talk?

标签 mono xmpp agsxmpp

我正在尝试开始使用 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();
        }
    }
}

编译正常,但是当我尝试运行它时,没有任何反应。它运行并没有任何错误地完成,但“已登录”永远不会打印到控制台。我做错了什么?

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

最佳答案

除非我怀疑 connection.Open () 阻塞,否则问题是您的程序到达了 main 的末尾,因此它已完成运行并结束。

如何防止它退出取决于您要做什么,但一种方法是 ManualResetEvent:

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

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

关于mono - 为什么我无法在 agsXMPP 中连接到 Google Talk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3216934/

相关文章:

c# - OneLogin 事件未在 ag XMPP 上触发

.net - 是否可以在 Linux 或 Mac 上的 Mono 上安装 Sitecore CMS?

ruby - 使用 ruby​​ xmpp4r 向离线 Google Talk 用户发送 XMPP 消息

c# - WinRT 中 Metro 应用程序的 XMPP 库

ios - 是否有任何选项可以禁用 open-fire 服务器上的群聊消息历史记录?

java - Smack FileTransferManager.addFileTransferListener 从未被调用

Linux。哪个dll包含execv?

macos - MonoMac 恢复应用程序图标更改

ios - 防止 Xamarin(/Mono?) 在 iOS 上进行优化