Home » Source Code » » ChatClient.java

ChatClient.java ( File view )

From:
  • By 2010-08-12
  • View(s):14
  • Download(s):2
  • Point(s): 2
			/*
 * Copyright 1999 by dreamBean Software,
 * All rights reserved.
 */
package masteringrmi.chat.client;

import java.io.IOException;
import java.net.MalformedURLException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.ServerException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Properties;
import java.util.Iterator;
import java.util.StringTokenizer;

import javax.swing.ListModel;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.SwingUtilities;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import masteringrmi.chat.interfaces.Message;
import masteringrmi.chat.interfaces.MessageListener;
import masteringrmi.chat.interfaces.Topic;
import masteringrmi.chat.interfaces.TopicInfo;
import masteringrmi.chat.interfaces.TopicServer;
import masteringrmi.chat.interfaces.ListenerInfo;

/**
 *   This is the chat client model and controller. This is used
 *   by the GUI, but can also be used as a standalone application
 *   for testing purposes.
 *      
 *   @see ChatGUI
 *   @author Rickard berg (rickard@dreambean.com)
 *   @version $Revision:$
 */
public class ChatClient
   extends UnicastRemoteObject
   implements MessageListener
{

   // Constants -----------------------------------------------------
   static final String TOPIC_SERVER = "topics";
    
   // Attributes ----------------------------------------------------
   TopicServer server;
   
   DefaultComboBoxModel topics;
   DefaultListModel users;
   
   Topic currentTopic;
   TopicInfo currentTopicInfo;
   ListenerInfo info;
   String title;
   
   MessageReceiver messageReceiver;
   
   // Static --------------------------------------------------------
   public static void main(String[] args)
      throws IOException
   {

      // Performance tests
      // This will test the throughput of the chat system
      // Typically you should get about 0 ms/message (i.e. very low)
      // The reason for this is that since the message delivery is 
      // batched there will be a number of messages for each RMI call
   
      // Set security policy and security manager
      // Policy allows everything
      System.setProperty("java.security.policy",ChatClient.class.getResource("/client.policy").toString());
      System.setSecurityManager(new SecurityManager());
   
      // Get test parameters
      int clientCount = new Integer(args[0]).intValue();
      int messageCount = new Integer(args[1]).intValue();
      int topicIndex = args.length == 3 ? new Integer(args[2]).intValue()-1 : 0;
      
      // Create test clients and subscribe them to the default topic
      Collection clients = new ArrayList();
      ChatClient client = null;
      for (int i = 0; i < clientCount; i++)
      {

         client = new ChatClient();
         client.login("Hello"+i);
         client.subscribe(((TopicInfo)client.getTopics().getElementAt(topicIndex)));
         clients.add(client);
         System.out.println("Client "+i+" created");
      
}
      
      System.out.println("Clients created");
      
      // Use the last client to send messages
      long start = System.currentTimeMillis();
      for (int i = 0; i < messageCount; i++)
      {

         Message message = new Message("Hello"+(clientCount-1),"Text","Hello "+i+"!");
         client.publishMessage(message);
         if (i % 100 == 0)
            System.out.println(i+" messages sent");
      
}
      long end = System.currentTimeMillis();
      long time = end - start;
      System.out.println("Test done");
      

      // Log off test clients
      Iterator enum = clients.iterator();
      while (enum.hasNext())
      {

         client = (ChatClient)enum.next();
         client.logout();
      
}
      
      System.out.println("Clients removed");
      
      // Show results
      System.out.println("Total time:"+time);
      System.out.println("Nr of clients:"+clientCount);
      System.out.println("Total nr of messages:"+(messageCount*(clientCount+1)));
      System.out.println("Time/message:"+(time/messageCount));
      System.out.println("Time/(message*nr of test clients):"+(time/(messageCount*clientCount)));
      System.out.println("Time/(message*(nr of test clients + 1)):"+(time/(messageCount*(clientCount+1))));
   
}
   
   // Constructors --------------------------------------------------
   public ChatClient()
      throws IOException
   {

      getTopicServer();
   
}

   // Public --------------------------------------------------------
   public void login(String name)
      throws RemoteException
   {

      info = new ListenerInfo(name);
      
      getTopicServer().addListener(info, this);
   
}
   
   public void logout()
      throws RemoteException
   {

      if (currentTopic != null)
         unsubscribe();
         
      getTopicServer().removeListener(info);
      server = null;
   
}

   public void subscribe(TopicInfo topicInfo)
      throws RemoteException
   {

      if (currentTopic != null)
         unsubscribe();
      
      currentTopic = server.subscribe(topicInfo, info);
      currentTopicInfo = topicInfo;
      
      // Force user list to be loaded
      getUsers();
   
}
   
   public void unsubscribe()
      throws RemoteException
   {

      server.unsubscribe(currentTopicInfo, info);
      currentTopic = null;
      currentTopicInfo = null;
      users = null;
   
}
   
   public void publishMessage(Message message)
      throws RemoteException
   {

      currentTopic.publishMessage(message);
   
}
   
   public void addMessageReceiver(MessageReceiver mr)
   {

      this.messageReceiver = mr;
   
}
   
   public void removeMessageReceiver(MessageReceiver mr)
   {

      if (this.messageReceiver == mr)
         this.messageReceiver = null;
   
}
   
   public TopicServer getTopicServer()
      throws RemoteException
   {

      if (server == null)
      {

         try
         {

            Properties cfg = new Properties();
            cfg.load(getClass().getResourceAsStream("/jndi.properties"));
            server = (TopicServer)new InitialContext(cfg).lookup(TOPIC_SERVER);
         
} catch (NamingException e)
         {

            throw new ServerException("Could not access topic server", e);
         
} catch (IOException e)
         {

            throw new ServerException("Could not load jndi.properties", e);
         
}
         
         // Get topic list from server
         topics = new DefaultComboBoxModel();
         Iterator enum = getTopicServer().getTopicInfos().iterator();
         while(enum.hasNext())
         {

            topics.addElement(enum.next());
         
}
      
}
      
      return server;
   
}
   
   public ComboBoxModel getTopics()
      throws RemoteException
   {

      return topics;
   
}
   
   public ListModel getUsers()
      throws RemoteException
   {

      // Get list from server
      if (users == null)
      {

         users = new DefaultListModel();
         Iterator enum = currentTopic.getListenerInfos().iterator();
         while(enum.hasNext())
         {

            users.addElement(enum.next());
         
}
      
}
      
      return users;
   
}
   
   public ListenerInfo getClientInfo()
   {

      return info;
   
}
   
   // MessageListener implementation --------------------------------
   public synchronized void messagePublished(final Collection messages)
   {

      SwingUtilities.invokeLater(new Runnable()
      {

         public void run()
         {

            try
            {

               Iterator enum = messages.iterator();
               while (enum.hasNext())
               {

                  messagePublished((Message)enum.next());
               
}
            
} catch (Exception e)
            {

               e.printStackTrace();
            
}
         
}
      
});
   
}   
   
   public synchronized void messagePublished(Message message)
   {

      if (server == null)
      {

         // Not connected - ignore
         return;
      
}
      
      try
      {

         if (message.getSender().equals(Message.SYSTEM))
         {

            // System messages
            if (message.getType().equals(Message.TOPIC_CREATED))
            {

               ((DefaultComboBoxModel)getTopics()).addElement(message.getContent());
            
} else if (message.getType().equals(Message.TOPIC_REMOVED))
            {

               ((DefaultComboBoxModel)getTopics()).removeElement(message.getContent());
            
} else if (message.getType().equals(Message.USER_JOINED))
            {

               if (currentTopic == null) 
                  return; // Ignore
               
               ((DefaultListModel)getUsers()).addElement(message.getContent());
            
} else if (message.getType().equals(Message.USER_LEFT))
            {

               if (currentTopic == null) 
                  return; // Ignore
               
               ((DefaultListModel)getUsers()).removeElement(message.getContent());
            
} else
            {

               // Normal message
               addMessage(message);
            
} 
         
} else
         {

            // Normal message
            addMessage(message);
         
}
      
} catch (RemoteException e)
      {

         e.printStackTrace();
      
}
   
}   
   
   // Protected -----------------------------------------------------
   void addMessage(Message message)
   {

      if (messageReceiver != null)
         messageReceiver.handleMessage(message);
   
}
    
   void addMessage(Throwable error)
   {

      error.printStackTrace();
      addMessage(new Message(Message.SYSTEM, Message.TEXT, error.toString()));
   
}
   
   // Inner classes -------------------------------------------------
   public interface MessageReceiver
   {

      public void hand
...
...
(Not finished, please download and read the complete file)
			
...
Expand> <Close

Want complete source code? Download it here

Point(s): 2

Download
0 lines left, continue to read
Sponsored links

File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
client.bat24.00 B14-07-00 23:17
manager.bat25.00 B03-08-00 17:34
run.bat119.00 B24-04-00 19:42
<bin>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:10
build.xml7.22 kB14-12-00 23:57
<build>0.00 B20-07-06 08:53
index.html1.94 kB15-12-00 00:41
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
agent.kpx12.62 kB04-01-01 20:29
client.mf149.00 B12-12-00 00:52
manager.mf129.00 B12-12-00 00:52
server.mf142.00 B12-12-00 00:52
<etc>0.00 B20-07-06 08:53
dynaserver.jar9.99 kB09-08-00 18:48
dynaserver.properties632.00 B09-08-00 18:48
jndi.jar96.19 kB22-10-99 09:40
providerutil.jar75.31 kB22-10-99 09:50
rmiregistry.jar15.13 kB22-10-99 09:51
<lib>0.00 B20-07-06 08:53
HelloAgent.java656.00 B03-08-00 16:28
HelloAgentImpl.java6.04 kB05-08-00 02:14
<agents>0.00 B20-07-06 08:53
AgentClient.java2.99 kB04-01-01 20:24
<client>0.00 B20-07-06 08:53
Agent.java566.00 B04-01-01 20:24
AgentHost.java719.00 B04-01-01 20:25
NoSuchAgentException.java567.00 B04-01-01 20:26
<interfaces>0.00 B20-07-06 08:53
AgentManager.java8.12 kB04-01-01 20:26
<manager>0.00 B20-07-06 08:53
AgentHostImpl.java3.30 kB04-01-01 20:28
Main.java3.58 kB04-01-01 20:27
<server>0.00 B20-07-06 08:53
<agent>0.00 B20-07-06 08:53
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
client.policy334.00 B05-08-00 20:06
jndi.properties120.00 B24-04-00 19:38
server.policy184.00 B02-08-00 23:06
system.properties106.00 B02-08-00 22:36
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<agent>0.00 B20-07-06 08:53
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
client.bat77.00 B24-04-00 19:41
run.bat119.00 B24-04-00 19:42
test.bat138.00 B31-07-00 23:46
<bin>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:14
build.xml7.07 kB12-12-00 01:02
<build>0.00 B20-07-06 08:53
index.html1.76 kB15-12-00 00:41
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
chat.kpx15.82 kB04-01-01 20:29
server.mf78.00 B12-12-00 00:58
test.mf49.00 B31-07-00 18:12
<etc>0.00 B20-07-06 08:53
dynaserver.jar9.99 kB09-08-00 18:48
dynaserver.properties632.00 B09-08-00 18:48
jndi.jar96.19 kB22-10-99 09:40
providerutil.jar75.31 kB22-10-99 09:50
rmiregistry.jar15.13 kB22-10-99 09:51
<lib>0.00 B20-07-06 08:53
chat.dfPackage266.00 B25-07-00 23:08
ChatClient.java10.04 kB12-12-00 01:20
ChatGUI.java8.53 kB12-12-00 01:28
<client>0.00 B20-07-06 08:53
interfaces.dfPackage267.00 B25-07-00 23:08
ListenerInfo.java1.02 kB12-12-00 01:28
Message.java2.73 kB12-12-00 01:26
MessageListener.java755.00 B12-12-00 01:24
Topic.java710.00 B12-12-00 01:25
TopicInfo.java1.12 kB12-12-00 01:27
TopicServer.java993.00 B12-12-00 01:27
<interfaces>0.00 B20-07-06 08:53
Listener.java1.15 kB12-12-00 01:16
Main.java3.37 kB12-12-00 01:11
MessageQueue.java1.46 kB12-12-00 01:16
TopicImpl.java2.12 kB12-12-00 01:16
TopicServerImpl.java5.73 kB12-12-00 01:16
Worker.java4.11 kB04-01-01 20:28
<server>0.00 B20-07-06 08:53
<chat>0.00 B20-07-06 08:53
masteringrmi.dfPackage267.00 B25-07-00 23:08
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
client.policy99.00 B31-07-00 18:20
index.html829.00 B02-08-00 00:29
jndi.properties222.00 B15-09-00 23:54
server.policy99.00 B21-03-00 18:21
system.properties669.00 B15-09-00 23:54
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<chat>0.00 B20-07-06 08:53
disclaimer.txt1.15 kB17-01-01 21:04
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
dynaserver.properties632.00 B09-08-00 17:39
<bin>0.00 B20-07-06 08:53
build.bat492.00 B04-01-01 20:14
build.xml6.46 kB15-09-00 23:57
<build>0.00 B20-07-06 08:53
index.html3.01 kB09-08-00 19:09
license.txt2.51 kB16-08-00 00:04
styles.css996.00 B09-08-00 17:54
<docs>0.00 B20-07-06 08:53
dynaserver.kpx6.49 kB04-01-01 20:29
server.mf60.00 B15-07-00 00:09
<etc>0.00 B20-07-06 08:53
DynaServer.java15.77 kB08-09-00 17:32
Main.java3.39 kB09-08-00 18:32
<dynaserver>0.00 B20-07-06 08:53
<dreambean>0.00 B20-07-06 08:53
<com>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
dynaserver.default107.00 B09-08-00 17:09
mime.types180.00 B09-08-00 17:30
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<dynaserver>0.00 B20-07-06 08:53
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
client.bat24.00 B13-07-00 05:10
run.bat245.00 B12-12-00 00:31
run2.bat229.00 B12-12-00 00:32
<bin>0.00 B20-07-06 08:53
build.bat492.00 B04-01-01 20:15
build.xml6.85 kB12-12-00 00:29
<build>0.00 B20-07-06 08:53
index.html1.92 kB15-12-00 00:39
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
client.mf147.00 B12-07-00 19:03
helloactivate.kpx11.43 kB04-01-01 20:29
Logfile.18.38 kB10-07-00 18:44
Snapshot.1237.00 B10-07-00 18:16
Version_Number4.00 B10-07-00 18:16
<log>0.00 B20-07-06 08:53
setup.mf141.00 B13-07-00 03:53
<etc>0.00 B20-07-06 08:53
dynaserver.jar9.99 kB09-08-00 18:48
dynaserver.properties639.00 B16-09-00 00:09
jndi.jar96.19 kB22-10-99 09:40
providerutil.jar75.31 kB22-10-99 09:50
rmiregistry.jar15.13 kB22-10-99 09:51
<lib>0.00 B20-07-06 08:53
HelloClient.java3.20 kB21-07-00 20:29
<client>0.00 B20-07-06 08:53
HelloWorld.java756.00 B10-07-00 17:57
<interfaces>0.00 B20-07-06 08:53
HelloWorldImpl.java1.88 kB12-12-00 00:21
Setup.java2.84 kB12-12-00 00:43
<server>0.00 B20-07-06 08:53
<helloactivate>0.00 B20-07-06 08:53
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
client.policy99.00 B21-07-00 20:22
jndi.properties120.00 B24-04-00 19:38
server.policy99.00 B21-03-00 18:21
system.properties108.00 B16-09-00 00:10
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<helloactivate>0.00 B20-07-06 08:53
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
client.bat77.00 B24-04-00 19:41
run.bat119.00 B24-04-00 19:42
<bin>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:15
build.xml6.51 kB12-12-00 00:07
<build>0.00 B20-07-06 08:53
index.html1.66 kB15-12-00 00:44
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
helloapplet.kpx11.65 kB04-01-01 20:29
server.mf148.00 B11-12-00 23:38
<etc>0.00 B20-07-06 08:53
dynaserver.jar9.99 kB09-08-00 18:48
dynaserver.properties632.00 B09-08-00 18:48
jndi.jar96.19 kB22-10-99 09:40
providerutil.jar75.31 kB22-10-99 09:50
rmiregistry.jar15.13 kB22-10-99 09:51
<lib>0.00 B20-07-06 08:53
client.dfPackage267.00 B24-04-00 22:54
HelloApplet.java2.05 kB11-12-00 23:39
<client>0.00 B20-07-06 08:53
helloapplet.dfPackage267.00 B24-04-00 22:54
HelloWorld.java750.00 B21-03-00 18:27
interfaces.dfPackage267.00 B24-04-00 22:54
<interfaces>0.00 B20-07-06 08:53
HelloWorldImpl.java1.37 kB04-01-01 20:28
Main.java3.79 kB04-01-01 20:29
server.dfPackage267.00 B24-04-00 22:54
<server>0.00 B20-07-06 08:53
<helloapplet>0.00 B20-07-06 08:53
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
index.html850.00 B26-04-00 18:39
jndi.properties245.00 B12-12-00 00:05
system.properties278.00 B20-03-00 18:39
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<helloapplet>0.00 B20-07-06 08:53
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
client.bat24.00 B13-07-00 05:10
deploy.bat54.00 B03-01-01 02:27
<bin>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:15
build.xml6.69 kB14-12-00 23:11
<build>0.00 B20-07-06 08:53
index.html1.93 kB03-01-01 02:30
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
client.mf171.00 B14-12-00 23:12
helloejb.kpx9.99 kB04-01-01 20:29
<etc>0.00 B20-07-06 08:53
deploy.jar6.48 kB12-12-00 19:51
ejb.jar7.77 kB16-06-00 23:13
jboss-client.jar62.79 kB12-12-00 19:51
jmxri.jar217.98 kB08-12-00 00:25
jndi.jar96.19 kB24-05-00 02:26
jndi.properties154.00 B22-08-00 01:55
jnp-client.jar13.96 kB08-12-00 00:25
jta-spec1_0_1.jar8.60 kB21-08-00 17:38
<lib>0.00 B20-07-06 08:53
HelloClient.java2.00 kB14-12-00 23:11
<client>0.00 B20-07-06 08:53
HelloBean.java1.83 kB14-12-00 22:18
<ejb>0.00 B20-07-06 08:53
HelloHome.java632.00 B14-12-00 22:17
HelloWorld.java601.00 B14-12-00 22:18
<interfaces>0.00 B20-07-06 08:53
<helloejb>0.00 B20-07-06 08:53
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
jndi.properties154.00 B16-06-00 16:43
ejb-jar.xml1.41 kB14-12-00 22:20
jboss.xml259.00 B14-12-00 22:20
<META-INF>0.00 B20-07-06 08:53
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<helloejb>0.00 B20-07-06 08:53
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
client.bat24.00 B13-07-00 05:10
server.bat22.00 B08-08-00 21:36
<bin>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:16
build.xml6.77 kB12-12-00 01:31
<build>0.00 B20-07-06 08:53
index.html2.67 kB15-12-00 00:41
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
client.mf131.00 B12-12-00 01:33
hellojini.kpx10.31 kB04-01-01 20:29
server.mf128.00 B12-12-00 01:33
<etc>0.00 B20-07-06 08:53
dynaserver.jar9.99 kB09-08-00 18:48
dynaserver.properties632.00 B09-08-00 18:48
jini-core.jar25.88 kB23-05-00 22:40
jini-ext.jar133.27 kB23-05-00 22:40
<lib>0.00 B20-07-06 08:53
HelloClient.java5.93 kB18-08-00 23:40
<client>0.00 B20-07-06 08:53
HelloWorld.java623.00 B10-08-00 23:24
<interfaces>0.00 B20-07-06 08:53
HelloWorldImpl.java1.12 kB10-08-00 23:24
Main.java4.90 kB07-09-00 16:31
<server>0.00 B20-07-06 08:53
<hellojini>0.00 B20-07-06 08:53
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
client.policy99.00 B21-07-00 20:22
index.html854.00 B10-07-00 17:10
jndi.properties120.00 B24-04-00 19:38
server.policy99.00 B21-03-00 18:21
system.properties108.00 B19-07-00 19:16
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<hellojini>0.00 B20-07-06 08:53
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
run.bat136.00 B12-12-00 00:06
<bin>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:16
build.xml6.78 kB12-12-00 00:09
<build>0.00 B20-07-06 08:53
index.html1.73 kB15-12-00 00:41
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
client.mf145.00 B22-05-00 19:03
hellosocket.kpx12.41 kB04-01-01 20:29
server.mf164.00 B22-05-00 07:42
<etc>0.00 B20-07-06 08:53
dynaserver.jar9.99 kB09-08-00 18:48
dynaserver.properties632.00 B09-08-00 18:48
jndi.jar96.19 kB22-10-99 09:40
providerutil.jar75.31 kB22-10-99 09:50
rmiregistry.jar15.13 kB22-10-99 09:51
<lib>0.00 B20-07-06 08:53
client.dfPackage267.00 B24-04-00 22:54
HelloSocket.java2.57 kB19-07-00 20:22
<client>0.00 B20-07-06 08:53
helloapplet.dfPackage267.00 B24-04-00 22:54
HelloWorld.java739.00 B22-05-00 21:41
IdentityClientSocketFactory.java1.57 kB04-01-01 20:30
IdentitySocket.java3.78 kB04-01-01 20:30
interfaces.dfPackage267.00 B24-04-00 22:54
<interfaces>0.00 B20-07-06 08:53
HelloWorldImpl.java1.12 kB04-01-01 20:30
IdentityServerSocket.java1.58 kB04-01-01 20:30
IdentityServerSocketFactory.java1.00 kB04-01-01 20:30
Main.java3.29 kB04-01-01 20:30
server.dfPackage267.00 B24-04-00 22:54
<server>0.00 B20-07-06 08:53
<hellosocket>0.00 B20-07-06 08:53
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
jndi.properties245.00 B12-12-00 00:05
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<hellosocket>0.00 B20-07-06 08:53
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
run.bat398.00 B09-04-00 19:58
<bin>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:16
build.xml6.52 kB12-12-00 00:07
<build>0.00 B20-07-06 08:53
index.html1.73 kB15-12-00 00:41
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
client.mf49.00 B20-03-00 23:23
helloworld.kpx8.38 kB04-01-01 20:29
server.mf49.00 B20-03-00 23:23
<etc>0.00 B20-07-06 08:53
Main.java2.12 kB02-10-00 04:52
<client>0.00 B20-07-06 08:53
helloworld.dfPackage267.00 B24-05-00 17:43
HelloWorld.java1.06 kB20-03-00 23:26
<interfaces>0.00 B20-07-06 08:53
HelloWorldImpl.java1.10 kB02-10-00 04:47
Main.java2.26 kB02-10-00 04:53
<server>0.00 B20-07-06 08:53
<helloworld>0.00 B20-07-06 08:53
masteringrmi.dfPackage525.00 B24-05-00 17:43
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<helloworld>0.00 B20-07-06 08:53
index.html4.93 kB18-01-01 19:51
run.bat337.00 B08-12-00 00:25
run.jar10.87 kB08-12-00 00:50
run.sh259.00 B08-12-00 18:20
<bin>0.00 B20-07-06 08:53
auth.conf209.00 B08-12-00 00:25
connector.jar32.18 kB12-12-00 19:51
deploy.jar6.48 kB12-12-00 19:51
ejb.jar7.77 kB08-12-00 00:25
jaas.jar101.75 kB08-12-00 00:25
jboss-client.jar62.79 kB12-12-00 19:51
jndi.jar96.19 kB08-12-00 00:25
jnp-client.jar13.96 kB08-12-00 00:25
jta-spec1_0_1.jar8.60 kB08-12-00 00:25
stop.jar6.41 kB12-12-00 19:51
<client>0.00 B20-07-06 08:53
auth.conf765.00 B08-12-00 00:25
instantdb.properties6.09 kB08-12-00 00:25
jboss-auto.jcml3.66 kB03-01-01 02:26
jboss.conf1.58 kB14-12-00 23:13
jboss.dependencies3.66 kB08-12-00 00:25
jboss.jcml3.46 kB14-12-00 23:00
jboss.properties430.00 B08-12-00 00:25
jetty.properties70.00 B08-12-00 00:25
jetty.xml5.69 kB08-12-00 00:25
jndi.properties153.00 B08-12-00 00:25
jnp.properties58.00 B08-12-00 00:25
schema.ini78.00 B08-12-00 00:25
server.policy99.00 B08-12-00 00:25
spyderMQ.properties1.22 kB08-12-00 00:25
standardjaws.xml35.64 kB08-12-00 00:25
standardjboss.xml4.94 kB14-12-00 23:16
<default>0.00 B20-07-06 08:53
<conf>0.00 B20-07-06 08:53
db.properties102.00 B08-12-00 00:25
default.backup12.00 B03-01-01 02:27
default.data20.00 B03-01-01 02:27
default.properties90.00 B03-01-01 02:27
default.script3.25 kB03-01-01 02:28
hypersonic.txt60.00 B08-12-00 00:25
<hypersonic>0.00 B20-07-06 08:53
<instantdb>0.00 B20-07-06 08:53
<db>0.00 B20-07-06 08:53
deploy.txt89.00 B08-12-00 00:25
<deploy>0.00 B20-07-06 08:53
awt.jar61.36 kB08-12-00 00:25
dynaserver.jar5.01 kB08-12-00 00:25
ejb.jar7.77 kB08-12-00 00:25
ejxeditor.jar42.98 kB08-12-00 00:25
ejxejb.jar94.29 kB08-12-00 00:25
ejxjaws.jar61.25 kB08-12-00 00:50
ejxjboss.jar144.43 kB08-12-00 00:50
hsql.jar171.55 kB08-12-00 00:25
jboss.jar536.52 kB12-12-00 19:51
jetty-service.jar8.78 kB08-12-00 00:25
jms.jar23.63 kB08-12-00 00:25
jndi.jar96.19 kB08-12-00 00:25
jnpserver.jar20.60 kB12-12-00 19:41
jpl-util-0_5b.jar17.09 kB08-12-00 00:25
jta-spec1_0_1.jar8.60 kB08-12-00 00:25
log4j.jar70.87 kB08-12-00 00:25
mail.jar228.84 kB08-12-00 00:25
<ext>0.00 B20-07-06 08:53
jaxp.jar5.41 kB08-12-00 00:25
jdbc2_0-stdext.jar6.57 kB08-12-00 00:25
jmxri.jar217.98 kB08-12-00 00:25
parser.jar133.01 kB08-12-00 00:25
<lib>0.00 B20-07-06 08:53
log.properties43.00 B08-12-00 00:25
server.log11.66 kB03-01-01 02:28
<trace.log>0.00 B14-12-00 22:12
<log>0.00 B20-07-06 08:53
README.TXT320.00 B18-01-01 23:13
deployment.cfg1,006.00 B03-01-01 02:28
ejb1001.jar3.38 kB03-01-01 02:28
<helloejb.jar>0.00 B20-07-06 08:53
deployment.cfg994.00 B14-12-00 22:12
<webwork.war>0.00 B20-07-06 08:53
<Default>0.00 B20-07-06 08:53
<deploy>0.00 B20-07-06 08:53
tmp.properties42.00 B08-12-00 00:25
<tmp>0.00 B20-07-06 08:53
<jboss>0.00 B20-07-06 08:53
ant.jar439.09 kB07-12-00 09:57
jaxp.jar5.49 kB07-12-00 10:52
parser.jar132.94 kB07-12-00 10:52
<lib>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:16
build.xml5.86 kB14-12-00 23:58
<build>0.00 B20-07-06 08:53
<api>0.00 B20-07-06 08:53
index.html596.00 B15-12-00 00:41
styles.css895.00 B12-12-99 22:39
todo.txt2.00 kB01-01-00 21:13
<docs>0.00 B20-07-06 08:53
manifest.mf44.00 B09-02-00 23:10
marshaling.kpx5.37 kB04-01-01 20:29
<etc>0.00 B20-07-06 08:53
Main.java2.87 kB14-12-00 23:59
<marshaling>0.00 B20-07-06 08:53
<masteringrmi>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<marshaling>0.00 B20-07-06 08:53
masteringrmi.kwx3.96 kB04-01-01 20:34
README.TXT888.00 B17-01-01 21:05
ant.jar439.09 kB07-12-00 09:57
dynaserver.jar9.99 kB09-08-00 18:48
dynaserver.properties739.00 B11-09-00 23:24
jini-core.jar25.88 kB23-05-00 22:40
jini-ext.jar133.27 kB23-05-00 22:40
<ext>0.00 B20-07-06 08:53
jaxp.jar5.41 kB24-10-00 16:45
parser.jar133.01 kB24-10-00 16:45
<lib>0.00 B20-07-06 08:53
run.bat372.00 B11-09-00 23:45
runjini.bat797.00 B08-09-00 17:57
<bin>0.00 B20-07-06 08:53
build.bat494.00 B04-01-01 20:17
build.xml7.84 kB03-01-01 02:54
<build>0.00 B20-07-06 08:53
Main$A.class605.00 B14-12-00 23:49
Main$B.class717.00 B14-12-00 23:49
Main.class1.45 kB14-12-00 23:49
<marshaling>0.00 B20-07-06 08:53
<masteringrmi>0.00 B20-07-06 08:53
<classes>0.00 B20-07-06 08:53
index.html3.98 kB15-12-00 00:41
styles.css895.00 B12-12-99 22:39
<docs>0.00 B20-07-06 08:53
client.mf74.00 B08-09-00 19:22
jiniserver.mf147.00 B11-09-00 23:18
server.mf105.00 B11-09-00 22:16
smartproxy.mf58.00 B11-09-00 23:07
smartproxyurl.mf49.00 B11-09-00 23:06
smartworld.kpx12.90 kB04-01-01 20:29
<etc>0.00 B20-07-06 08:53
Handler.java3.75 kB14-12-00 23:42
<dynamic>0.00 B20-07-06 08:53
DynamicRemoteStub.java1.17 kB11-09-00 23:04
DynamicStubHandler.java4.88 kB11-09-00 23:09
JiniServiceProxy.java4.66 kB14-12-00 23:41
LinkedProxy.java598.00 B14-12-00 23:41
LogProxy.java1.63 kB11-09-00 22:31
PerformanceProxy.java1.79 kB11-09-00 22:31
ReconnectProxy.java2.55 kB14-12-00 23:40
RetryProxy.java2.19 kB14-12-00 23:40
<proxies>0.00 B20-07-06 08:53
DynamicClassLoader.java1.47 kB11-09-00 16:37
DynamicRemoteObject.java1.39 kB14-12-00 23:39
RemoteProxy.java1.20 kB08-09-00 21:36
<server>0.00 B20-07-06 08:53
<smartproxy>0.00 B20-07-06 08:53
Main.java2.69 kB08-09-00 20:06
<client>0.00 B20-07-06 08:53
SmartWorld.java1.16 kB07-09-00 01:02
<interfaces>0.00 B20-07-06 08:53
MainJini.java6.29 kB14-12-00 23:35
MainRMI.java4.79 kB11-09-00 23:44
SmartWorldImpl.java1.22 kB11-09-00 19:37
<server>0.00 B20-07-06 08:53
<smartworld>0.00 B20-07-06 08:53
<main>0.00 B20-07-06 08:53
system.properties108.00 B08-09-00 17:39
<resources>0.00 B20-07-06 08:53
<src>0.00 B20-07-06 08:53
<smartworld>0.00 B20-07-06 08:53
<Mastering>0.00 B0% 20-07-06
...
Sponsored links

ChatClient.java (9.29 MB)

Need 2 point
Your Point(s)

Your Point isn't enough.

Get point immediately by PayPal

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more point

LOGIN

Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com

切换到中文版?

CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!
OK

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D