为什么JDBC将零端口与空(默认)端口相同?

时间:2018-08-06 21:14:16

标签: java jdbc mariadb

在我正在开发的系统上,我必须连接不同主机和端口上的多个数据库,问题是: 我正在尝试通过JDBC连接到达jdbc:mariadb://127.0.0.1:3306 / testdb,一切都很好,但是我也可以通过jdbc:mariadb://127.0.0.1:0 / testdb,并且连接仍然有效。

阅读JDBC文档:https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html

我发现“ host:port是托管数据库的计算机的主机名和端口号。如果未指定,则host和port的默认值分别为127.0.0.1和3306。”

但是端口被指定为零。 我应该忽略零端口吗?

2 个答案:

答案 0 :(得分:2)

端口0是保留端口,不可用于一般用途。 (参考:here,通过here)。显然,如果指定了端口0,MariaDB JDBC驱动程序会识别出该错误,并仅使用默认端口值(3306)。

答案 1 :(得分:0)

不,您不应该忽略ZERO,因为您的服务器仍在使用ZERO端口。因为未保留计算机中的端口号ZERO。但是在其他计算机中则保留了应用程序。 端口号的范围是0到65535。