我有一個RMI服務器和RMI客戶端。如果客戶端運行我製作的RMI版本並準備好接收連接,那麼即使客戶端沒有連接到我,服務器端如何獲取客戶端的IP /主機名?如何實現Java RMI以獲取未連接的客戶端ip /主機名
我想創建一個遠程方法,它會調用客戶端將他們的IP /主機名發送到我的服務器端,但這需要我知道要連接的客戶端IP /主機名才能調用該方法。
本課程的目的是創建一個監控程序,以監控學生在實驗室做什麼,作爲老師。
我有一個RMI服務器和RMI客戶端。如果客戶端運行我製作的RMI版本並準備好接收連接,那麼即使客戶端沒有連接到我,服務器端如何獲取客戶端的IP /主機名?如何實現Java RMI以獲取未連接的客戶端ip /主機名
我想創建一個遠程方法,它會調用客戶端將他們的IP /主機名發送到我的服務器端,但這需要我知道要連接的客戶端IP /主機名才能調用該方法。
本課程的目的是創建一個監控程序,以監控學生在實驗室做什麼,作爲老師。
即使客戶端沒有連接到我,服務器端如何獲取客戶端的IP /主機名?
這是一種自相矛盾的說法。如果沒有連接,則不存在當前客戶端。如果您希望在遠程方法調用期間使用當前客戶端,請參閱RemoteServer.getClientHost()
。如果您想要遠程方法調用期間以外的數據,您可以在遠程方法調用期間收集數據,但是您將很難決定何時刪除客戶端,除非客戶端有義務調用方法logout()
或其他方法。如果有幫助,您可以在Unreferenced.unreferenced()
方法中完全清除收集。但是你需要徹底擺脫RMI中'連接'的概念。基本上沒有這樣的事情。連接在調用期間存在,並且在實現需要的任何額外範圍內存在,但無法在服務器或客戶端中獲得它們,因此您可以像設計不存在一樣進行設計,並且作爲儘管除了遠程調用期間客戶端不存在。
或者用我的遠程會話模式,嘗試谷歌。
「監控學生」?你到底需要知道什麼? – 2012-08-07 10:55:21