2

ここに記載されているように、GCM サーバーの googls の例を実装しようとしています: サーバー コードの記述

次のエラーが表示されます。

DEBUG: socket       sent  <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">...</auth>
DEBUG: socket       error Socket error while receiving data
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/xmpp/transports.py", line 146, in receive
    try: received = self._recv(BUFLEN)
SSLError: [Errno 8] _ssl.c:1325: EOF occurred in violation of protocol
DEBUG: socket       error Socket operation failed
Authentication failed!

私のサーバーは NAT とファイアウォールの背後にあります。here で説明されているように、ANY への発信接続のルールを開き、ポート 5228-5230 を転送しました。ただし、リソースの問題により、すべてのポートをサーバーに転送することはできません.80でも443でもありません.

このエラーの原因についてのアイデアはありますか?解決できますか?

ありがとう。

4

1 に答える 1

0

それがあなたの唯一の問題かどうかはわかりませんが、間違ったポートを開きました:

GCM Cloud Connection Server (CCS) は、http://gcm.googleapis.com ポート 5235 で実行される XMPPエンドポイントです

開いたポートは、デバイスが WiFi 経由でインターネットに接続されている場合に、Android デバイスが GCM サーバーからメッセージを受信するためにのみ必要です。

注: 組織にインターネットとの間のトラフィックを制限するファイアウォールがある場合は、Android デバイスがメッセージを受信できるように、GCM との接続を許可するようにファイアウォールを構成する必要があります。開くポートは、5228、5229、および 5230 です。GCM は通常、5228 のみを使用しますが、5229 と 5230 を使用することもあります。GCM は特定の IP を提供しないため、含まれるすべての IP アドレスへの発信接続をファイアウォールが受け入れるようにする必要があります。 Google の ASN の 15169 にリストされている IP ブロック内。

于 2013-06-28T13:55:25.653 に答える