我正在使用 Laravel 作为我的 Android 应用程序的后端服务器。 这是我用于发送推送消息的包:https://packagist.org/packages/davibennun/laravel-push-notification
我进行了所有设置(服务器端 + 客户端)并试了一下。 它发送消息没有任何问题,除了有时它会给我一个超时错误:
Zend \ Http \ Client \ Adapter \ Exception \ RuntimeException Unable to connect to android.googleapis.com:443 . Error #0: stream_socket_client(): unable to connect to android.googleapis.com:443 (Connection timed out)
我应该怎么做才能使其可靠?我想确保将消息发送到应用程序。
最佳答案
我遇到了同样的错误并试图找出原因。
这个错误有一定的可能性。
您的互联网防火墙阻止了与谷歌的连接:请尝试
ping android.googleapis.com
在你的 laravel 主机中。或curl -v gcm-http.googleapis.com
如果没有响应则被阻止。为 google api 打开你的端口,我通常打开端口
443
,5528-2230
。你可以在你的防火墙中配置gcm-http.googleapis.com
有很多 IP 地址,因此您需要允许来自这些 IP 地址的连接,这是它们的 IP 地址之一:172.217 .3.170
。 我的通过允许他们的 ip 地址范围之间的连接来解决问题。您可以在防火墙软件中监控 IP 地址。
这取决于您的防火墙配置,您需要与配置防火墙的人员一起设置这些配置,因为我假设您在安全网络环境中工作。
关于android - Laravel + Google Cloud Messaging(连接超时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25116687/