Android unixc++;使用普通身份验证的应用程序服务器未接收<;成功>;来自GCM xmpp ccs 我正在开发UNIX C++通知应用服务器,不使用任何XMPP库。 我正在尝试按照中的步骤进行握手。我在ssl隧道上使用TLS协议
我将以下内容发送到gcm.googleapis.com:5235Android unixc++;使用普通身份验证的应用程序服务器未接收<;成功>;来自GCM xmpp ccs 我正在开发UNIX C++通知应用服务器,不使用任何XMPP库。 我正在尝试按照中的步骤进行握手。我在ssl隧道上使用TLS协议,android,c++,unix,xmpp,google-cloud-messaging,Android,C++,Unix,Xmpp,Google Cloud Messaging,我将以下内容发送到gcm.googleapis.com:5235 我从gcm.googleapis.com收到了以下两条回复信息:5235 1。 2.X-OAUTH2X-GOOGLE-TOKENPLAIN 并且,我发送了以下消息作为回应。我尝试使用gloox的encode64代码。我还尝试使用内部Base64::Encode8bit。以下是Wonderbird评论后的修复,但尚未成功 stringstream key; key << '\0' << senderId
我从gcm.googleapis.com收到了以下两条回复信息:5235
1。
2.X-OAUTH2X-GOOGLE-TOKENPLAIN
并且,我发送了以下消息作为回应。我尝试使用gloox的encode64代码。我还尝试使用内部Base64::Encode8bit。以下是Wonderbird评论后的修复,但尚未成功
stringstream key;
key << '\0' << senderId << "@gcm.googleapis.com" << '\0' << apiKey;
string hexkey = encode64(key.str());
stringstream auth;
auth << "<auth mechanism='PLAIN' xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>" << hexkey << "</auth>";
string authStr = auth.str();
sslSock_->write(authStr.c_str(), authStr.length());
stringstream键;
密钥内部的字符串
应该是base64编码的\0username\0password
字符串,而不是API密钥。用户名是senderId@gcm.googleapis.com
,密码是您的API密钥。我建议您进一步了解XMPP和普通身份验证机制,或者使用现成的库。中的字符串应该是base64编码的\0username\0password
字符串,而不是API密钥。用户名是senderId@gcm.googleapis.com
,密码是您的API密钥。我建议您进一步了解XMPP和普通身份验证机制,或者使用现成的库。中的字符串应该是base64编码的\0username\0password
字符串,而不是API密钥。用户名是senderId@gcm.googleapis.com
,密码是您的API密钥。我建议您进一步了解XMPP和普通身份验证机制,或者使用现成的库。中的字符串应该是base64编码的\0username\0password
字符串,而不是API密钥。用户名是senderId@gcm.googleapis.com
,密码是您的API密钥。我建议您进一步了解XMPP和普通身份验证机制,或者使用现成的库。Wonderbird的评论肯定会有所帮助。我还得再做一次修理。我正在发送关闭的xml
。相反,我应该发送
。基本上,不要关闭流
终于收到了
。神奇鸟的评论肯定有帮助。我还得再做一次修理。我正在发送关闭的xml
。相反,我应该发送
。基本上,不要关闭流
终于收到了
。神奇鸟的评论肯定有帮助。我还得再做一次修理。我正在发送关闭的xml
。相反,我应该发送
。基本上,不要关闭流
终于收到了
。神奇鸟的评论肯定有帮助。我还得再做一次修理。我正在发送关闭的xml
。相反,我应该发送
。基本上,不要关闭流
最后收到
。连接有两个重要要求:必须启动传输层安全(TLS)连接。请注意,CCS目前不支持STARTTLS扩展CCS需要SASL普通身份验证机制,使用@gcm.googleapis.com(gcm发送者ID)和API密钥作为密码
,其中发送者ID
和API密钥
是配置客户端应用程序时收集的值。有关获取这些凭据的信息,请参阅平台的客户端文档。连接有两个重要要求:必须启动传输层安全性(TLS)连接。请注意,CCS目前不支持STARTTLS扩展CCS需要SASL普通身份验证机制,使用@gcm.googleapis.com(gcm发送者ID)和API密钥作为密码
,其中发送者ID
和API密钥
是配置客户端应用程序时收集的值。有关获取这些凭据的信息,请参阅平台的客户端文档。连接有两个重要要求:必须启动传输层安全性(TLS)连接。请注意,CCS目前不支持STARTTLS扩展CCS需要SASL普通身份验证机制,使用@gcm.googleapis.com(gcm发送者ID)和API密钥作为密码
,其中发送者ID
和API密钥
是配置客户端应用程序时收集的值。有关获取这些凭据的信息,请参阅平台的客户端文档。连接有两个重要要求:必须启动传输层安全性(TLS)连接。请注意,CCS目前不支持STARTTLS扩展CCS需要SASL普通身份验证机制,使用@gcm.googleapis.com(gcm发送者ID)和API密钥作为密码
,其中发送者ID
和API密钥
是配置客户端应用程序时收集的值。有关获取这些凭据的信息,请参阅平台的客户端文档。