我们已经构建了一个车辆跟踪系统(VTS)设备。我有一个侦听客户端连接的PHP脚本。
当我们使用EC2实例的内网IP进行连接时,会建立连接,但是当我们尝试将外部IP或公网IP放入php脚本中时,它会显示一个错误。
我怎么才能解决这个问题呢?
我已经启动了一个带有亚马逊EC2的Linux虚拟机。然后使用putty从Windows连接到Linux实例。有一个php脚本可以监听传入的连接。当我放置EC2的内网IP时,它就可以连接了,但是当我放置公有IP时,它抛出错误"unable to bind ip99“
public function __construct($bind_ip,$port)
{
set_time_limit(0);
$this->hooks = array();
$this->config["ip"] = $bind_ip;
$this->config["port"] = $port;
$this->master_socket = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($this->master_socket,$this->config["ip"],$this->config["port"]) or die("Issue Binding");
socket_getsockname($this->master_socket,$bind_ip,$port);
socket_listen($this->master_socket);
SocketServer::debug("Listenting for connections on {$bind_ip}:{$port}");
}我们想从车辆跟踪装置中获取数据。我们可以设置该设备的IP地址并将其放入PHP脚本中,但是当我使用公共IP运行它时,它抛出错误"unable to bind ip99“。
发布于 2019-02-16 17:08:19
VTS系统需要静态IP。你确定你放的公共的是静态的吗?在大多数情况下,公有ips是子网划分的。
发布于 2019-02-16 19:22:19
请确保EC2实例安全组配置正确。尝试使用您在EC2实例中配置的ip和端口进行telnet。例如: telnet 192.168.0.10 25,(25是端口号)。
https://stackoverflow.com/questions/54721479
复制相似问题