gpt4 book ai didi

java - Derby Network Server - 接受来自多个主机的连接 - derby.drda.host

转载 作者:行者123 更新时间:2023-11-30 10:33:53 28 4
gpt4 key购买 nike

Derby documentation

derby.drda.host=hostname

The property listens to a host for network connections i.e. accepts connections from them. If 0.0.0.0 is specified, connections from any host is accepted.

现在,我有三台远程计算机,hostA , hostB , hostC .

  • 我的 Derby 服务器在 hostA 上运行.
  • 我希望 Derby 服务器监听来自 hostA 的连接, hostB , hostC

所以,我写了

props.setProperty("derby.drda.host", "hostA hostB hostC");

但是,这不起作用。 还有其他办法吗?

编辑:

当我将属性设置为

props.setProperty("derby.drda.host" , "hostA");

然后 hostBhostC 无法连接到服务器。他们低于异常(exception)

java.sql.SQLNonTransientConnectionException: java.net.ConnectException : Error connecting to server hostA on port 8,888 with message Connection refused: connect.

但是,当我将属性设置为

props.setProperty("derby.drda.host" , "0.0.0.0");

然后所有主机( hostAhostBhostC )都能够连接到服务器。

最佳答案

我相信您误解了此属性的用途。这样,如果您有多个网络接口(interface),您就可以告诉 Derby 在服务器的哪个 IP 上接受连接。 (很多服务器有不止一张网卡,或者同时连接到多个网络,因此有多个IP)。

0.0.0.0 的默认设置意味着它应该接受在任何服务器的 IP-s 上请求的任何连接。如果您将此值设置为 0.0.0.0 以外的值,它将只监听针对该 IP 的连接。

这不会限制基于他们 IP 的客户端连接。

我相信你需要有以下设置:

System.setProperty("derby.drda.startNetworkServer", "true");

为了将 Derby 作为网络服务器启动(而不仅仅是在 JVM 中运行它,因为我相信默认行为是这样)。

关于java - Derby Network Server - 接受来自多个主机的连接 - derby.drda.host,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41977243/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com