我编写了一个PHP脚本,它只是通过socket_connect()
在它正在侦听的某个端口上连接到我的C ++服务器。我的C ++服务器可以接受来自C ++客户端和其他服务的客户端,例如http:///canyouseeme.org,它是检查您正在使用的端口是否打开的工具。这些服务有效。
然而,无论服务器是否启动,在 HostGator 上运行的PHP脚本都无法连接到我的C ++服务器,我完全不知道为什么。是的,我通过路由器解锁了端口。这是错误:
警告:socket_connect():无法连接[111]:第15行/home4/user/public_html/porttest.php中的连接被拒绝 socket_connection()失败。原因:()连接拒绝关闭套接字。
这是我的PHP脚本:
<?php
$host = "<EXTERNAL IP TO C++ SERVER HERE>";
$port = "<TCP PORT C++ SERVER IS USING HERE>";
/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
echo "SOCKET OK.\n";
}
echo "Attempting Connection...";
$result = socket_connect($socket, $host, $port);
if($result == false){
echo "socket_connection() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
}
else{
echo "CONNECTION OK.\n";
}
socket_close($socket);
echo "Closing socket.";
?>
我的C ++服务器在Windows上运行。我很确定 HostGator Web服务器是在Linux上运行的。为什么它不能连接到我的C ++服务器而其他服务可以呢?这与我在无线连接上的事实有关吗?
HostGator 技术支持不知道出了什么问题。