I have create d simple DateServer program.When I am trying to run my server it is not able to create a socket and bind.Can anyone please help.It has taken lot of time and has been annoying.
Following is the error out put
C:\COURSE_WORK\EE633\TextCode\ch23\Server>
java -Djava.security.policy=policy.all
DateServer
Exception in
thread "main" java.rmi.ConnectException: Connection refused to host
: 169.254.101.152; nested exception is:
java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown S
ource)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown S
ource)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Unknown Source)
at DateServer.main(DateServer.java:30)
My policy.all contains
grant {
permission java.security.AllPermission "", "";
};
*************** DateServer.java ****************************
import java.util.Date;
import java.rmi.RemoteException;
import java.rmi.Naming;
import java.rmi.server.UnicastRemoteObject;
public class DateServer extends UnicastRemoteObject implements DateServerI{
/** Creates new DateServer */
public DateServer() throws RemoteException{
}
public
String getDate()throws RemoteException{
return ("From Date Server : " + new Date());
}
public static void main(String args[]) throws Exception{
DateServer execute = new DateServer();
Naming.rebind("Date Server",execute);
}
}
***************** DateClient.java ***********************
import java.rmi.Naming;
public class DateClient{
/** Creates new DateClient */
public DateClient() {
}
public static void main(String args[]) throws Exception{
String url = "rmi://" + args[0] + "/Date Server";
DateServerI client = (DateServerI)Naming.lookup(url);
String result = client.getDate();
System.out.println(" Result : " + result);
}
}
/****************** DateServerI.java - Interface ***************
import java.rmi.Remote;
import java.util.Date;
import java.rmi.RemoteException;
public interface DateServerI extends Remote{
public String getDate()throws RemoteException;
}
Thanks,
Arvind