Windows窗体xmpp应用程序



我正在尝试制作自己的XMPP客户端,我使用矩阵SDK作为XMPP库。我已经建立了自己的eJabberd服务器,并将其与MYSQL集成。我能成功地与客户沟通。我也可以使用Matrix SDK成功连接控制台应用程序。但是,当我尝试使用Windows窗体应用程序on_Click事件它发送请求到服务器,但不登录。我可以在日志中看到。

这是我的连接类

namespace WindowsFormsApplication1
{
class Connection
{
    public string ConnectionStatus;
     XmppClient xmppClient = new XmppClient();
    public Connection()
    {
        ConnectionStatus = "Connecting";
        xmppClient.Compression = false;
        xmppClient.Hostname = null;
        xmppClient.StartTls = true;
        xmppClient.Status = "Online";
        xmppClient.Password = "123456";
        xmppClient.Username = "xeeshan";
        xmppClient.Hostname = "rabta.cloudapp.net";
        xmppClient.Port.Equals(5222);
        xmppClient.OnLogin += new EventHandler<Matrix.EventArgs>(xmpp_OnLogin);



    }
    private void xmpp_OnLogin(object sender, Matrix.EventArgs e)
    {
        xmppClient.Status = "I'm chatty";
        xmppClient.Show = Matrix.Xmpp.Show.chat;
    }
    public void Open()
    {
        xmppClient.OnLogin += new EventHandler<Matrix.EventArgs>(xmpp_OnLogin);
        try
        {
            xmppClient.Open();
            Thread.Sleep(8000);
        }
        catch
        {
            ConnectionStatus = "Not Connected";
        }
     }
}
}

我的窗口窗体应用程序点击事件

    private void button1_Click(object sender, System.EventArgs e)
    {
       Connection conn = new Connection();
       conn.Open();
    }

这是我的ejabberd服务器日志。每次插入一行时,当我点击按钮

=INFO REPORT==== 2014-07-21 20:32:18 ===
I(<0.430.0>:ejabberd_listener:281) : (#Port<0.3742>) Accepted connection         {{182,187,194,83},11511} -> {{100,77,176,105},5222}
=INFO REPORT==== 2014-07-21 20:33:37 ===
I(<0.430.0>:ejabberd_listener:281) : (#Port<0.3744>) Accepted connection {{182,187,194,83},11523} -> {{100,77,176,105},5222}
=INFO REPORT==== 2014-07-21 20:35:11 ===
I(<0.430.0>:ejabberd_listener:281) : (#Port<0.3746>) Accepted connection {{182,187,194,83},11538} -> {{100,77,176,105},5222}
=INFO REPORT==== 2014-07-21 21:16:55 ===
I(<0.430.0>:ejabberd_listener:281) : (#Port<0.3748>) Accepted connection {{182,187,194,83},12779} -> {{100,77,176,105},5222}

请帮帮我,我已经被困在这里三天左右了

您的Connection实例在离开button1_Click块后自动处置。移动conn声明到类变量,它应该工作

如有Xml日志请附上。这里你可以看到如何使用MatriX获取XMl日志:http://www.ag-software.net/matrix-xmpp-sdk/matrix-developer-tutorial/日志

最新更新