⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mychatroomimpl.java

📁 本程序是一个基于RMI的聊天室,使用了多线程,事件模型,支持多用户同时登陆
💻 JAVA
字号:

import java.lang.Thread;
import java.rmi.*;
import java.util.*;
import javax.swing.*;


import java.rmi.server.*;
import java.lang.String;
public class MychatroomImpl extends UnicastRemoteObject implements Mychatroom,Runnable {
    String[] b=new String[3];
    String[] a={"feng","ze","ting"};
    String[] pwd={"123","456","789"};
    private Thread iThread;
    private Vector iReceiver=new Vector();
    boolean c=false;	
    boolean HaveMessage=false;  
    public MychatroomImpl() throws RemoteException{
	        iThread=new Thread(this);
	       iThread.start();
}
    public void run(){
     while(true){
              if(HaveMessage==true){
	       String message=b[2];
          MessageEvent event=new MessageEvent(message);
	     sendMessage(event);
                    HaveMessage=false;  
		 
	 }
}  
} 
    public int personalinfo (String username,String password) throws RemoteException{
	b[0]=username;
        b[1]=password;
	for(int i=0;i<3;i=i+1)
                          {
                           if (a[i].equals(b[0])&pwd[i].equals(b[1]))
                                     
                                   { 
                                     c=true;
                                     }
                                   
                          }
        if(c==true){JOptionPane.showMessageDialog(null,"please leave your message","Message",JOptionPane.PLAIN_MESSAGE);
                     return 0;}
        if(c==false){
                   JOptionPane.showMessageDialog(null,"your username or password is not correct,please check","Message",JOptionPane.PLAIN_MESSAGE);
                  }	
          return 1;

 }
	
	
	public	void setMessage(String message) throws RemoteException{
		b[2]=message;
                HaveMessage=true;

		}
	
	public synchronized void addMessageListener(MessageListener aListener){
		iReceiver.addElement(aListener);
	}
	public synchronized void removeMessageListener(MessageListener aListener){
		iReceiver.addElement(aListener);
	}
	public void sendMessage(MessageEvent anEvent){
		Vector v;
		synchronized(this){
			v=(Vector)iReceiver.clone();
		}
		for(int i=0;i<v.size();i++){
			MessageListener ol=(MessageListener)v.elementAt(i);
			ol.MessageStatus(anEvent);
		}
                     System.out.println("Message ready...");
	}
	
	
}
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -