无法使用套接字连接到IP

时间:2015-12-19 17:36:28

标签: php sockets

我正在尝试连接到我的公共IP地址,但没有成功。

使用 - http://www.yougetsignal.com/tools/open-ports/检查端口是否已打开 并且来自此网站的请求(http://www.rexswain.com/httpview.html)有效。

我的问题在于下面的PHP代码。这在我的本地网络上使用时常常工作正常。现在我在网络服务器上使用它。

问题可能在于Web服务器允许发送请求还是我做错了什么?

$ip = "MYIP";
$port = "600";

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
//socket_bind($sock, $ip, $port) or die ("cannot bind to address."); 
echo($ip); 
$state = socket_connect($sock,$ip, $port);
$error = socket_last_error();
$errorMsg = socket_strerror($error);
echo($errorMsg);

编辑:我的评论中的错误来自socket_bind评论(代码编辑输出错误)

错误:连接超时

1 个答案:

答案 0 :(得分:1)

这是错误的:

socket_bind($sock, $ip, $port) or ...
$state = socket_connect($sock,$ip, $port);

绑定绑定套接字的本地地址,绑定并连接到同一端口没有意义。通常,您不希望在客户端模式下绑定。完全删除该行,然后您可能会收到真正的错误。