الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممكن مساعده في RMI

بدأه فتفوته سكر في 26 أبريل 2011 · 2 رد · 491 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ممكن احد يساعدني في ذا السؤال لاني مو فاهمته

Read a Text File from a Server using RMI

Write an RMI application that allows a client to open and read a file residing on the

remote server. The interface for accessing the remote file object appears as:

import java.rmi.*;

public interface RemoteFileObject extends Remote

{

public abstract void open(String fileName) throws

RemoteException;

public abstract String readLine() throws

RemoteException;

public abstract void close() throws RemoteException;

}

That is, the client will open the remote file using the open() method, where the name of

the file being opened is provided as a parameter. The file will be accessed via the

readLine() method in the java.io.BufferedReader class in the Java API.

That is, it will read and return a line of text that is terminated by a line feed (\n), a

carriage return (\r), or a carriage return followed immediately by a line feed. Once the

end of the file has been reached, readLine() will return null. Once the file has been

read, the client will close the file using the close() method. For simplicity, we assume

the file being read is a character (text) stream. The client program need only display the

file to the console (System.out).

IP Assignment 4 2/2

One issue to be addressed concerns handling exceptions. The server will have to

implement the methods outlined in the interface RemoteFileObject using standard

I/O methods provided in the Java API, most of which throw a

java.io.IOException. However, the methods to be implemented in the

RemoteFileObject interface are declared to throw a RemoteException. Perhaps

the easiest way of handling this situation in the server is to place the appropriate calls to

standard I/O methods using try-catch for java.io.IOException. If such an exception

occurs, catch it, and then re-throw it as RemoteException. The code might look like this:

Try {

...

}

Catch (java.io.IOException ioe){

throw new RemoteException (“IO Exception”, ioe);

}

You can handle a java.io.FileNotFoundException similarly.

Consult the Java API for further details.

#2

أين محاولاتك

#3
هويدي كتب:

أين محاولاتك

هذه محاولتي لكني توقفت هنا ولم استطع اكماله

import java.rmi.*;import java.rmi.Naming;import java.io.*;////// PowerServiceClient////public class PowerServiceClient { public static void main(String args[]) throws Exception { // Check for hostname argument if (args.length != 1) { System.out.println ("Syntax - PowerServiceClient host"); System.exit(1); } // Assign security manager if (System.getSecurityManager() == null) { System.setSecurityManager (new RMISecurityManager()); } // Call registry for PowerService PowerService service = (PowerService) Naming.lookup ("rmi://" + args[0] + "/PowerService"); DataInputStream din = new DataInputStream (System.in); for (; { System.out.println ("1 - Calculate square"); System.out.println ("2 - Calculate power"); System.out.println ("3 - Exit"); System.out.println(); System.out.print ("Choice : "); String line = din.readLine(); Integer choice = new Integer(line); int value = choice.intValue(); switch (value) { case 1: System.out.print ("Number : "); line = din.readLine();System.out.println(); choice = new Integer (line); value = choice.intValue(); // Call remote method System.out.println ("Answer : " + service.square(value)); break; case 2: System.out.print ("Number : "); line = din.readLine(); choice = new Integer (line); value = choice.intValue(); System.out.print ("Power : "); line = din.readLine(); choice = new Integer (line); int power = choice.intValue(); // Call remote method System.out.println ("Answer : " + service.power(value, power)); break; case 3: System.exit(0); default : System.out.println ("Invalid option"); break; } } }}

مواضيع مشابهة