我一直在尝试使用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设置做更多的事情?任何帮助表示赞赏。
编辑:项目已列入白名单,不幸的是我仍然遇到同样的错误。所以规则就是原因。答案 0 :(得分:0)
如果有人看到这个:我弄清楚了。上面的所有代码都可以很好地连接到GCM。我的公司企业防火墙阻塞了端口。回想起来,我应该早点检查一下。