我如何使用c#中任何可靠的XMPP库连接FCM服务器
本文关键字:XMPP 连接 FCM 服务器 何使用 任何可 | 更新日期: 2023-09-27 18:07:47
谁能帮助我连接FCM (Firebase云消息)服务器使用XMPP库使用c# ?
我想使用XMPP发送推送通知。
我正在尝试使用夏普连接它。Xmpp如下,
public class XmppConnector
{
public XmppConnector()
{
string hostname = "fcm-xmpp.googleapis.com";
string username = "exmple@gcm.googleapis.com";
string password = "example";
using (XmppClient client = new XmppClient(hostname, username, password))
{
try
{
// Setup any event handlers before connecting.
client.Message += OnNewMessage;
// Connect and authenticate with the server.
client.Connect();
}
catch (Exception e)
{
throw e;
}
}
}
/// <summary>
/// Invoked whenever a new chat-message has been received.
/// </summary>
private void OnNewMessage(object sender, Sharp.Xmpp.Im.MessageEventArgs e)
{
Console.WriteLine("Message from <" + e.Jid + ">: " + e.Message.Body);
//throw new NotImplementedException();
}
}
但它不起作用,我甚至尝试了另一个端口(5235和5236)。如果你有任何例子,请分享。
我使用https://github.com/ForNeVeR/Jabber-Net
myJabberClient = new JabberClient();
myJabberClient.User = Globales.FIRABASE_MESSAGING_USER + "@gcm.googleapis.com";
myJabberClient.Password = Globales.FIREBASE_MESSAGING_KEY;
myJabberClient.Server = Globales.FIRABASE_GCM_XMPP_SERVER;
myJabberClient.Resource = "MyTestClient";
myJabberClient.Port = 5235;
myJabberClient.AutoReconnect = 1;
myJabberClient.AutoPresence = false;
myJabberClient.AutoRoster = false;
myJabberClient.KeepAlive = 10;
myJabberClient.PlaintextAuth = true;
myJabberClient.AutoLogin = true;
myJabberClient.AutoStartTLS = false;
myJabberClient.SSL = true;
myJabberClient.OnMessage += async (s, msg) => {
// Do stuff here
}
myJabberClient.Connect();
我用HTTP API做推送通知。我只是在向CCS服务器发送上游收到的消息的ACK消息时遇到问题,因为一些注册id
我是用Jabber-net库完成的,你可以从这里,它包含了库和一些例子来了解如何连接到fcm,也可以通过nuget包管理器下载包名为jabber-net选择最新版本。