Android デバイスへの通知の送受信を目的として、XMPP 経由で Google Cloud Connection Server ( http://developer.android.com/google/gcm/ccs.html ) に接続します。
.NET4.5 コンソール アプリケーションで AGSSMPP (執筆時点の最新バージョン) を使用してテストします。
ただし、開始 XML を送信した直後 - 接続は閉じられます。そして、私は何の説明も見つけることができません。
送信される内容:
<stream:stream to='gcm.googleapis.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
<stream />
Google のドキュメントでは、AGSXMPP がこれを送信していないため、ストリームは自己閉鎖されていることに注意してください。違いがあるかどうかはわかりません。
Wireshark を使用すると、メッセージがストリームで送信され、Google が TCP リセットで応答し、接続が閉じられることがわかります。
xmpp = new XmppClientConnection
{
UseSSL = true,
UseStartTLS = true,
Server = "gcm.googleapis.com",
ConnectServer = "gcm.googleapis.com",
Port = 5235,
Username = "<SENDER ID>@gcm.googleapis.com",
Password = <KEY>,
AutoResolveConnectServer = false,
SocketConnectionType = SocketConnectionType.Direct,
KeepAlive = true,
};
xmpp.Open();
他の設定 (ログインなど) が正しくない場合でも、少なくともこのストリーム メッセージを通過して、ある種の接続を確立できるはずです。