невозможно подключиться к Google Cloud Connection Server

Я пытаюсь открыть соединение XMPP между моим сервером и сервером облачных соединений Google (CCS), но он не работает. Я программирую с помощью PHP и используя библиотеку JAXL. Вот мой код:

<?php include_once 'jaxl.php'; $client = new JAXL(array( 'jid'=>'<my_sender_ID>@gcm.googleapis.com', 'pass'=>'my_API_key', 'auth_type'=>'PLAIN', 'host' => 'gcm.googleapis.com', 'port' => '5235', 'force_tls' => true )); $client->start(); echo "done"; ?> 

И затем я получаю эту ошибку:

 unable to connect tcp://gcm.googleapis.com:5235 with error no: 110, error str: Connection timed out 

Что я делаю не так?

Related of "невозможно подключиться к Google Cloud Connection Server"

Вы должны подключиться к gcm.googleapis.com с помощью ssl, а не http или tcp.

Я исправил это, изменив jaxl.php:

 public function get_socket_path() { return ($this->cfg['port'] == 5223 ? "ssl" : "tcp")."://".$this->cfg['host'].":".$this->cfg['port']; } 

чтобы:

 public function get_socket_path() { return ($this->cfg['port'] == 5223 || $this->cfg['ssl'] == true ? "ssl" : "tcp")."://".$this->cfg['host'].":".$this->cfg['port']; } 

После этого вы можете инициализировать клиента:

 $client = new JAXL(array( 'jid' => '<your-API-key>@gcm.googleapis.com', 'pass' => '<your-API-key>', 'host' => 'gcm.googleapis.com', 'port' => 5235, 'force_tls' => true, 'auth_type' => 'PLAIN', 'strict' => FALSE, 'ssl' => TRUE )); 

Кроме того, при инициализации клиента используйте

 'log_level' => JAXL_DEBUG 

Это позволит вам видеть все, что посылает или получает. В моем случае я понял, что мой проект еще не включен в белый список – я забыл зарегистрировать его на https://services.google.com/fb/forms/gcm/

 jaxl_socket_client:189 - 2013-10-04 08:11:58 - <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><temporary-auth-failure/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Project 1012343798740 not whitelisted.</text></failure> 

Возможно, вы должны изменить host на http : //gcm.googleapis.com. В вашей ошибке говорится: «Не удалось подключить tcp : //gcm.googleapis.com: 5235».

GCM Cloud Connection Server (CCS) – конечная точка XMPP, работающая на http://gcm.googleapis.com порту 5235.