[英]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.