0
我想實現的是通過中央服務器連接的客戶端,與其他客戶,使他們能夠交換信息和文件的簡單的聊天應用程序。我還需要實施通知框架。例如,如果用戶簽名成功,或者他的好友登錄,他會收到通知。 現在在世界RMI這是怎麼實現的? 我想有一個遠程對象「連接類」,客戶端調用它的方法,如「登入」,「斷開連接」等...... 至於通知框架類他們也必須是遠程?或者他們可以躺在服務器上? 謝謝Java RMI的概念
我想實現的是通過中央服務器連接的客戶端,與其他客戶,使他們能夠交換信息和文件的簡單的聊天應用程序。我還需要實施通知框架。例如,如果用戶簽名成功,或者他的好友登錄,他會收到通知。 現在在世界RMI這是怎麼實現的? 我想有一個遠程對象「連接類」,客戶端調用它的方法,如「登入」,「斷開連接」等...... 至於通知框架類他們也必須是遠程?或者他們可以躺在服務器上? 謝謝Java RMI的概念
遠程系統之間的事件消息傳遞有點棘手。以下是發生的情況:
客戶端必須註冊對服務器端觸發事件的興趣。要註冊,客戶端必須遠程可用於事件源對象。
爲了能夠註冊,客戶端必須首先找到服務器,因此服務器對象必須遠程可用於客戶端。
伊克,對不對?這就是實現遠程事件處理的簡單的pattern。 幾個星期前,我開始一個教程,是heade沿着這條道路 - 這是在這裏,而且我希望本週結束前添加一些內容。唉,使租金的需求已經干擾,我不能夠以最快的速度,因爲我想給它添加。 如果您不能等待,然而,這是關鍵:雙方必須是遠程可用的郵件系統一起工作。
服務器以及客戶端必須是遠程對象。
讓所有客戶端都實現遠程接口。
RemoteClientIfc extends Remote {
void inform();
}
//have a remote method register() on the *Server* object which accepts RemoteClientIfc.
//c'd be something like this...
register(RemoteClientIfc client){
arrayListofClients.add(client);
}
//So client will do a look up on the remote server object and register itself.
remoteObj.register(clientInstance);
//In the remote server you
//can probably have another method to send notifications to the client.
//Run through the ArrayList and call
//inform() on each of them.
//Thus the client will receive notification.
tellClients(){
Iterator i = ....
while (i.hasNext()){
((RemoteClientIfc).i.next()).inform();
}
}