added lab2 directory
git-svn-id: svn://anubis/gvsu@138 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
parent
d840f6e21e
commit
5c35389192
48
cs656/lab2/src/PresenceService.java
Normal file
48
cs656/lab2/src/PresenceService.java
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/**
|
||||||
|
* <p>Title: Lab2</p>
|
||||||
|
* <p>Description: Simple Chat System </p>
|
||||||
|
* <p>Copyright: Copyright (c) 2007</p>
|
||||||
|
* <p>Company: Grand Vally State University</p>
|
||||||
|
* @author Jonathan Engelsma
|
||||||
|
* @version 2.0
|
||||||
|
*/
|
||||||
|
import java.rmi.Remote;
|
||||||
|
import java.rmi.RemoteException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The abstract interface that is to implemented by a remote
|
||||||
|
* presence server. ChatClients will use this interface to
|
||||||
|
* register themselves with the presence server, and also to
|
||||||
|
* determine and locate other users who are available for chat
|
||||||
|
* sessions.
|
||||||
|
*/
|
||||||
|
public interface PresenceService extends Remote {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register a client with the presence service.
|
||||||
|
* @param reg The information that is to be registered about a client.
|
||||||
|
*/
|
||||||
|
void register(RegistrationInfo reg) throws RemoteException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister a client from the presence service. Client must call this
|
||||||
|
* method when it terminates execution.
|
||||||
|
* @param userName The name of the user to be unregistered.
|
||||||
|
*/
|
||||||
|
void unregister(String userName) throws RemoteException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lookup the registration information of another client.
|
||||||
|
* @name The name of the client that is to be located.
|
||||||
|
* @return The RegistrationInfo info for the client, or null if
|
||||||
|
* no such client was found.
|
||||||
|
*/
|
||||||
|
RegistrationInfo lookup(String name) throws RemoteException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine all users who are currently registered in the system.
|
||||||
|
* @return An array of RegistrationInfo objects - one for each client
|
||||||
|
* present in the system.
|
||||||
|
*/
|
||||||
|
RegistrationInfo[] listRegisteredUsers() throws RemoteException;
|
||||||
|
}
|
53
cs656/lab2/src/PresenceServiceImpl.java
Normal file
53
cs656/lab2/src/PresenceServiceImpl.java
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import java.rmi.registry.LocateRegistry;
|
||||||
|
import java.rmi.registry.Registry;
|
||||||
|
import java.rmi.server.UnicastRemoteObject;
|
||||||
|
|
||||||
|
public class PresenceServiceImpl implements PresenceService
|
||||||
|
{
|
||||||
|
public PresenceServiceImpl()
|
||||||
|
{
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void register(RegistrationInfo reg)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void unregister(String userName)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public RegistrationInfo lookup(String name)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RegistrationInfo[] listRegisteredUsers()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
if (System.getSecurityManager() == null)
|
||||||
|
{
|
||||||
|
System.setSecurityManager(new SecurityManager());
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
PresenceServiceImpl impl = new PresenceServiceImpl();
|
||||||
|
PresenceService stub = (PresenceService)
|
||||||
|
UnicastRemoteObject.exportObject(impl, 0);
|
||||||
|
Registry registry = LocateRegistry.getRegistry();
|
||||||
|
registry.rebind("PresenceServiceImpl", stub);
|
||||||
|
System.out.println("PresenceServiceImpl bound");
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
System.err.println("PresenceServiceImpl exception:");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
73
cs656/lab2/src/RegistrationInfo.java
Normal file
73
cs656/lab2/src/RegistrationInfo.java
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
/**
|
||||||
|
* <p>Title: Lab2</p>
|
||||||
|
* <p>Description: Simple Chat System </p>
|
||||||
|
* <p>Copyright: Copyright (c) 2007</p>
|
||||||
|
* <p>Company: Grand Vally State University</p>
|
||||||
|
* @author Jonathan Engelsma
|
||||||
|
* @version 2.0
|
||||||
|
*/
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents the information that the chat client registers
|
||||||
|
* with the presence server.
|
||||||
|
*/
|
||||||
|
public class RegistrationInfo implements Serializable
|
||||||
|
{
|
||||||
|
private String userName;
|
||||||
|
private String host;
|
||||||
|
private boolean status;
|
||||||
|
private int port;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RegistrationInfo constructor.
|
||||||
|
* @param uname Name of the user being registered.
|
||||||
|
* @param h Name of the host their client is running on.
|
||||||
|
* @param p The port # their client is listening for connections on.
|
||||||
|
* @param s The status, true if the client is available to host a game, false otherwise.
|
||||||
|
*/
|
||||||
|
public RegistrationInfo(String uname, String h, int p, boolean s)
|
||||||
|
{
|
||||||
|
this.userName = uname;
|
||||||
|
this.host = h;
|
||||||
|
this.port = p;
|
||||||
|
this.status = s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine the name of the user.
|
||||||
|
* @return The name of the user.
|
||||||
|
*/
|
||||||
|
public String getUserName()
|
||||||
|
{
|
||||||
|
return this.userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine the host the user is on.
|
||||||
|
* @return The name of the host client resides on.
|
||||||
|
*/
|
||||||
|
public String getHost()
|
||||||
|
{
|
||||||
|
return this.host;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the port the client is listening for connections on.
|
||||||
|
* @return port value.
|
||||||
|
*/
|
||||||
|
public int getPort()
|
||||||
|
{
|
||||||
|
return this.port;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the status of the client - true means availability, false means don't disturb.
|
||||||
|
* @return status value.
|
||||||
|
*/
|
||||||
|
public boolean getStatus()
|
||||||
|
{
|
||||||
|
return this.status;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user