我最近开始从事一个小型项目,该项目需要C#下的XMPP客户端,我发现可以免费使用的jabber-net库
“用户为test2”
这是我的客户代码
public static JabberClient jabberClient;
static void Connect(string ip, string username, string pasword)
{
try
{
jabberClient = new JabberClient();
jabberClient.User = username;
jabberClient.Password = pasword;
jabberClient.Server = ip;
jabberClient.Port = 5223;
jabberClient.AutoReconnect = -1;
jabberClient.AutoPresence = true; //note that a deadloc3 can occur if this is set to true
jabberClient.AutoRoster = false;
jabberClient.SSL = true;
jabberClient.PlaintextAuth = true;
jabberClient.AutoStartCompression = true;
jabberClient.AutoStartTLS = false;
jabberClient.AutoLogin = true;
jabberClient.Resource = "In Game";
Console.WriteLine(jabberClient.JID);
Console.WriteLine(jabberClient.IsAuthenticated);
jabberClient.OnMessage += JabberClient_OnMessage;
jabberClient.OnInvalidCertificate += JabberClient_OnInvalidCertificate;
jabberClient.OnAuthError += JabberClient_OnAuthError;
jabberClient.Connect();
jabberClient.Message(JabberNet.jabber.protocol.client.MessageType.chat, "lanpingner@10.6.1.69", "i am online"); // The Error is here
}
catch (Exception e3)
{
Console.WriteLine(e3.Message);
}
}
private static void JabberClient_OnAuthError(object sender, System.Xml.XmlElement rp)
{
// Console.WriteLine(rp.InnerText);
}
private static void JabberClient_OnError(object sender, Exception ex)
{
Console.WriteLine(ex.Message);
}
private static bool JabberClient_OnInvalidCertificate(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
// Console.WriteLine("Invalid certificate ({0}):\n{1}", sslPolicyErrors.ToString(), certificate.ToString(true));
return true;
}
private static void JabberClient_OnMessage(object sender, JabberNet.jabber.protocol.client.Message msg)
{
//throw new NotImplementedException();
Console.WriteLine($"New Message from {msg.From.Bare}, {msg.Body}");
}
当我尝试从其他客户端发送或接收消息时,它不起作用,并且出现此错误,
在发送消息之前,必须先对客户端进行身份验证。
但是服务器可以将发送消息发送给客户端,而我可以接收它。
但是,如果我转到XMPP服务器站点“ Openfire”,则需要对用户进行验证和认证。
到目前为止我尝试过的事情
如果有人使用该库,我将不胜感激,但是如果您可以建议一个不起作用的库,我也将不胜感激。 请不要建议我不想为它付费的矩阵
感谢任何帮助。