我一直在尝试使用 agsXMPP 库打开与 GCM 的 XMPP 连接大约一天。我是图书馆和 XMPP 的新手,所以我完全有可能犯了一个愚蠢的错误。我知道的唯一另一件事可能是问题是我的项目尚未被谷歌列入白名单,但我在其他地方读到你最初应该仍然可以连接。我的代码如下:
class Program
{
static void Main(string[] argus)
{
XmppClientConnection xmpp = new XmppClientConnection();
xmpp.UseSSL = true;
xmpp.UseStartTLS = false;
xmpp.Server = "gcm.googleapis.com";
xmpp.ConnectServer = "gcm.googleapis.com";
xmpp.Port = 5235;
xmpp.Password = "My Api Key";
xmpp.Username = "My Project Id";
xmpp.OnAuthError += OnAuthError;
xmpp.OnError += OnError;
xmpp.OnSocketError += new ErrorHandler(objXmpp_OnSocketError);
xmpp.Open();
// Just to keep the app open
while (true)
{
System.Threading.Thread.Sleep(100);
}
}
static void objXmpp_OnSocketError(object sender, Exception ex)
{
return;
}
static void OnAuthError(object sender, agsXMPP.Xml.Dom.Element e)
{
return;
}
static void OnError(object sender, Exception ex)
{
return;
}
}
最终发生的事情是我遇到了 SocketError 并出现以下错误:
无法建立连接,因为目标机器主动拒绝它 74.125.20.188:5235
这是因为我还没有被列入白名单,还是我可以使用 agsXMPP 设置做更多事情?任何帮助表示赞赏。
编辑:项目被列入白名单,不幸的是我仍然遇到同样的错误。所以这排除了一个原因。