Php 如何查找Web服务器上是否启用了端口

Php 如何查找Web服务器上是否启用了端口,php,port,web-hosting,Php,Port,Web Hosting,noob问题: 我想在godaddy上托管的网站上启用Google云消息。我想确定godaddy是否启用了端口5228(由GCM使用),以及我是否可以继续并实现GCM 我怎么才能知道呢?我尝试了以下代码: <?php $host = 'mysite.com'; $ports = array(5228, 5229, 5230); foreach ($ports as $port) { $errno = null; $errstr = null; $connecti

noob问题:

我想在godaddy上托管的网站上启用Google云消息。我想确定godaddy是否启用了端口5228(由GCM使用),以及我是否可以继续并实现GCM

我怎么才能知道呢?我尝试了以下代码:

<?php
    $host = 'mysite.com';
    $ports = array(5228, 5229, 5230);    
foreach ($ports as $port)
{
$errno  = null;
$errstr = null;

$connection = @fsockopen($host, $port, $errno, $errstr);

if (is_resource($connection)) {
    echo '<h2>' . $host . ':' . $port . ' ' . '(' . getservbyport($port, 'tcp') . ') is open.</h2>' . "\n";
    fclose($connection);
} else {
    echo "<h2>{$host}:{$port} is not responding. Error {$errno}: {$errstr} </h2>" . "\n";
}
这是否意味着goDaddy不允许我实施GCM,因为5228未启用?或者这是否意味着我的防火墙(或ISP)不允许我通过端口5228连接到tehe网站

谢谢


p、 美国:我知道关于这个话题有很多问题,我确实浏览过,但没有得到明确的答案。

端口5228、5229、5230是android设备所需要的,而不是将通知推送到GCM的服务器所需要的

如果要检查服务器是否将连接到GCM,请尝试创建对GCM的POST HTTP请求:


顺便说一句,你的代码试图连接到mysite.com,而不是GCM

嗨,不仅仅是关于goDaddy…需要一个通用的方法来发现,万一我从goDaddy搬到mysite.com,我想服务器需要打开端口。。。但是你回答了我的问题。。。谢谢
mysite.com:5228 is not responding. Error 111: Connection refused
mysite.com:5229 is not responding. Error 111: Connection refused
mysite.com:5230 is not responding. Error 111: Connection refused