我们已经建立了车辆跟踪系统(VTS)设备。我有一个PHP脚本,它监听客户端连接。
当我们使用EC2实例的私有IP连接时建立连接,但是当我们尝试在php脚本中放置外部IP或公共IP时,它会显示错误。
我怎么解决这个?
我已经推出了带有Amazon EC2的Linux虚拟机。然后使用putty从Windows连接到Linux实例。有一个php脚本可以监听传入的连接。当我把EC2的私有IP然后它连接,但当我把公共IP它抛出错误“无法绑定IP [99]”
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运行它时会抛出错误“无法绑定ip [99]”
VTS Systems需要静态IP。你确定你所使用的公众是静态的吗?公共ips在大多数情况下都是子网。
请确保已正确配置EC2实例安全组。使用您在EC2实例中配置的ip和端口尝试telnet。对于Eg:telnet 192.168.0.10 25,(25是端口号)。