如何解决C#XMPP jabber-net无法发送消息
我最近开始从事一个小型项目,该项目需要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”,则需要对用户进行验证和认证。
到目前为止我尝试过的事情
- 尝试手动登录
- 不尝试SSL
如果有人使用该库,我将不胜感激,但是如果您可以建议一个不起作用的库,我也将不胜感激。 请不要建议我不想为它付费的矩阵
感谢任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。