簡體   English   中英

如何為RMI客戶端設置靜態客戶端端口?

[英]How to set static client port for rmi clients?

我需要一種為rmi客戶端設置靜態端口的方法。 服務器使用固定端口進行連接,但是盡管我設置了客戶端套接字工廠,但客戶端會創建動態端口。

我發現的根本原因是在“ TCPChannel”類中。 在此類中,我看到以下代碼:

TCPEndpoint.getLocalEndpoint(0, (RMIClientSocketFactory)null, (RMIServerSocketFactory)null);

這顯然不起作用,因為此代碼不知道我的套接字工廠。 顯然,此類不是RMI特定的。

問題是-是否有一種方法可以覆蓋tcp套接字創建,使其根本不創建動態端口?

盡管我設置了客戶端套接字工廠,但客戶端卻創建了一個動態端口。

您如何設置? 無論您做什么,都做得不正確。

但是為什么要這么做呢? 有很多缺點。 一方面,它將導致來自該客戶端的所有RMI調用被順序化,可能間隔為兩分鍾,或者可能導致間隔更頻繁的任何調用都因BindExceptions失敗。

另一方面,它可能會對DGC產生不利影響。

而且沒有任何實際的好處。

顯然,此類不是RMI特定的。

什么級別? 顯而易見的是什么?

暫無
暫無

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

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