【问题标题】:Cannot connect to Socket via PHP无法通过 PHP 连接到 Socket
【发布时间】:2019-07-10 03:21:46
【问题描述】:

我无法通过 PHP (Insurgency Sandstorm) 连接到套接字

我当然可以在端口 80 上连接到 google.com 和 example.com...但无法连接到我的 Insurgency Sandstorm 服务器上的任何套接字...

比如下面这个超级简单的PHP代码就失败了……

(我显然用2替换了IP和端口)

$s = fsockopen("22.22.22.22", 2222, $errno, $errstr, 5);
if (!$s) { die( "$errstr ($errno)" ); }
fclose($s);

我收到以下错误:

警告:fsockopen():无法连接到 22.22.22.22:2222 (连接超时)在第 41 行的 /blah/blah/rcontest.php 连接超时 (110)

【问题讨论】:

  • 你确定那个端口是开放的吗?您可以在终端中通过此检查:nc -zv google.com 80
  • 感谢谢尔盖。我实际上是通过在我的 localhost XAMPP 练习服务器上运行这个脚本来解决它并且它连接良好......因此我确定这是我的主机的问题。就像你说的那样……端口没有打开。

标签: php sockets server


【解决方案1】:

想通了。我的主机 (bluehost) 默认不提供专用 IP。因此,我的主机是一个共享 IP,所以唯一开放的端口是 80 和 mysql 端口,也许还有其他一些。

无论如何,我都需要购买专用 IP。现在我可以指示他们(bluehost)打开我想要的任何端口(在本例中为 2222) 非常可悲......但现在它可以工作并且连接执行完美。

另外...谢谢谢尔盖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    相关资源
    最近更新 更多