Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#在XMPP服务器中使用jabber net创建新用户?_C#_Xmpp - Fatal编程技术网

如何使用C#在XMPP服务器中使用jabber net创建新用户?

如何使用C#在XMPP服务器中使用jabber net创建新用户?,c#,xmpp,C#,Xmpp,我一直在使用C#中的jabber.net库创建/注册新用户。我使用ejabberd作为服务器。这是我的密码: private void btnCreateAccount_Click(object sender, EventArgs e) { IQ iq1 = new IQ(jabberClient1.Document); iq1.ID = "reg1"; iq1.Type = IQType.set; iq1.InnerXm

我一直在使用C#中的jabber.net库创建/注册新用户。我使用ejabberd作为服务器。这是我的密码:

 private void btnCreateAccount_Click(object sender, EventArgs e)
    {
        IQ iq1 = new IQ(jabberClient1.Document);
        iq1.ID = "reg1";
        iq1.Type = IQType.set;
        iq1.InnerXml = "<query xmlns='jabber:iq:register'></query>";
        jabberClient1.Tracker.BeginIQ(iq1, new jabber.connection.IqCB(on_create_user), null);


        IQ iq = new IQ(jabberClient1.Document);
        iq.ID = "reg2";
        iq.Type = IQType.set;
        iq.InnerXml = "<query xmlns='jabber:iq:register'><username>hax0r</username><password>god</password></query>";
        jabberClient1.Tracker.BeginIQ(iq, new jabber.connection.IqCB(on_create_user), null);
    }

    private void on_create_user(object sender, IQ iq, object data)
    {
        Error err = iq.Error;
        if (err != null)
            Console.WriteLine("Error " + err.Condition + " on querying user " + data);
    }

非常感谢您的任何提示。

请查看示例目录。这正是你想要的。特别是,
Register
在第764行调用,然后对
OnRegisterInfo
OnRegisterInfo

的回调,如果没有stacktraceThanks作为您的回复,该异常是无用的。我仍然不知道如何注册新用户。你能分享一些代码吗?这样我就可以通过提供用户名、密码、服务器名来注册用户了?
 JabberClient jc = new jabber.client.JabberClient(this.components);
 jc.AutoReconnect = 3F;
 jc.AutoStartCompression = true;
 jc.AutoStartTLS = true;
 jc.InvokeControl = this;
 jc.KeepAlive = 30F;
 jc.LocalCertificate = null;
 jc.Password = "username";
 jc.User = "password";
 jc.Server = "example.com";
 jc.Register(new JID(jc.User, jc.Server, null));