gpt4 book ai didi

c# - 如何在 C# 中使用任何可靠的 XMPP 库连接 FCM 服务器?

转载 作者:太空宇宙 更新时间:2023-11-03 15:14:23 24 4
gpt4 key购买 nike

有人可以帮助我使用 C# 使用 XMPP 库连接 FCM(Firebase 云消息传递)服务器吗?

我想使用 XMPP 发送推送通知。

我正在尝试使用 Sharp.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 推送通知。我只是在将上游收到的消息的 ACK 消息发送到 CCS 服务器时遇到问题,因为某些注册 ID 中的“:”字符

关于c# - 如何在 C# 中使用任何可靠的 XMPP 库连接 FCM 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39593999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com