import java.rmi.*;
public interface Adder extends Remote{
public int add(int x,int y)throws RemoteException;
}
Masofaviy interfeysni amalga oshirishni ta'minlash
Endi masofaviy interfeysni amalga oshirishni ta'minladim. Masofaviy interfeysni amalga oshirishni ta'minlash uchun menga kerak
UnicastRemoteObject sinfini kengaytirdim
yoki UnicastRemoteObject sinfining eksportObject() usulidan foydalaning
Agar siz UnicastRemoteObject sinfini kengaytirsangiz, RemoteExceptionni e'lon qiladigan konstruktorni belgilashingiz kerak.
import java.rmi.*;
import java.rmi.server.*;
public class AdderRemote extends UnicastRemoteObject implements Adder{
AdderRemote()throws RemoteException{
super();
}
public int add(int x,int y){return x+y;}
}
rmik asbob yordamida stub va skelet obyektlarini yaratish.
Keyingi qadam rmi kompilyatoridan foydalangan holda stub va skelet obyektlarini yaratishdir. Rmic vositasi RMI kompilyatorini chaqiradi va stub va skelet obyektlarini yaratadi.
rmic AdderRemote
rmiregistry vositasi orqali ro'yxatga olish xizmatini ishga tushiring
Endi rmiregistry vositasidan foydalanib, ro'yxatga olish xizmatini ishga tushiring. Agar siz port raqamini ko'rsatmasangiz, u standart port raqamidan foydalanadi. Ushbu misolda biz 5000 port raqamidan foydalanamiz.
rmiregistry 5000
Server ilovasini yarating va ishga tushiring
Endi rmi xizmatlari server jarayonida joylashtirilishi kerak. Nomlash klassi masofaviy ob'ektni olish va saqlash usullarini taqdim etadi. Noming klassi 5 ta usulni taqdim etadi.
Ushbu misolda biz uzoq ob'ektni sonoo nomi bilan bog'laymiz.
6) Mijoz ilovasini yarating va ishga tushiring
Mijozda biz Noming sinfining lookup() usuli orqali stub ob'ektini olamiz va ushbu ob'ektdagi usulni chaqiramiz. Ushbu misolda biz server va mijoz ilovalarini bir xil mashinada ishga tushiramiz, shuning uchun biz localhost-dan foydalanamiz. Agar siz boshqa kompyuterdan masofaviy ob'ektga kirishni istasangiz, localhostni masofaviy ob'ekt joylashgan host nomiga (yoki IP manziliga) o'zgartiring.
Ushbu rmi misolini ishga tushirish uchun
1) barcha java fayllarini kompilyatsiya qilish
javac *.java
2) rmik asbob yordamida stub va skelet ob'ektini yaratish
rmic AdderRemote
3) rmi registrini bitta buyruq satrida ishga tushiring
rmiregistry 5000
4) serverni boshqa buyruq satrida ishga tushiring
java MyServer
5) mijoz ilovasini boshqa buyruq satrida ishga tushiring