簡體   English   中英

Derby 網絡服務器 - 接受來自多個主機的連接 - derby.drda.host

[英]Derby Network Server - Accept connections from multiple hosts - derby.drda.host

德比文檔

derby.drda.host=主機名

該屬性偵聽主機的網絡連接,即接受來自它們的連接。 如果指定了 0.0.0.0,則接受來自任何主機的連接。

現在,我有三台遠程計算機, hostAhostBhostC

  • 我的德比服務器在hostA上運行。
  • 我希望德比服務器偵聽來自hostAhostBhostC

所以,我寫了

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

但是,這不起作用。 還有其他方法嗎?

編輯:

當我將屬性設置為

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

然后hostBhostC無法連接到服務器。 他們得到以下例外

java.sql.SQLNonTransientConnectionException:java.net.ConnectException:連接到端口 8,888 上的服務器 hostA 時出錯,消息連接被拒絕:連接。

但是,當我將屬性設置為

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

然后所有主機( hostAhostBhostC )都能夠連接到服務器。

我相信你誤解了這個屬性的用途。 如果您有多個網絡接口,這樣您就可以告訴 Derby 在服務器的哪個 IP 上接受連接。 (很多服務器有多個網卡,或者同時連接到多個網絡,因此有多個IP)。

默認設置0.0.0.0意味着它應該接受在任何服務器 IP-s 上請求的任何連接。 如果您將此值設置為0.0.0.0以外的值,它將只偵聽針對該 IP 的連接。

這並不限制根據IP的客戶端連接。

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

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

為了將 Derby 作為網絡服務器啟動(而不僅僅是在 JVM 中運行它,因為我相信默認行為是這樣)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM