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

📄 roominfo.java

📁 基于JSP的网络聊天室系统,功能明了易懂
💻 JAVA
字号:
package chat;
import java.lang.*;
import java.util.*;
import java.sql.*;
import chat.*;

public class RoomInfo {

  static final int max_messages = 100;
  String room_name;
  String adm_name;
  int max_num;
  int current;
  Vector user=new Vector();
  Vector str=new Vector();

  public void setroomname(String name)
  {
      room_name=name;
  }
  public void setadmname(String name)
  {
      this.adm_name=name;
  }
  public void setmaxnum(int num)
  {
      this.max_num=num;
  }

  public void setcurrent(int cur)
 {
     current=cur;
 }

  public void addmessage(String message)
  {
    if(str.size()>max_messages)
      str.remove(0);
    str.add(message);
    return;
  }
  public RoomInfo() {
   room_name="";
   max_num=0;
   current=0;
   //str="";
   adm_name="";
  }

  //读数据
  public boolean InitialRoom(int i)
  {
    DataBean db=new DataBean();
    db.connect();
    try
    {
      ResultSet rs = db.openRs("select * from room_info");
      rs.absolute(i);
      room_name=rs.getString(1);
      max_num=rs.getInt(2);
    }
    catch(Exception e)
    {
      return false;
    }
    return true;
  }

  public String ToRoomNetpac()
  {
    //基本信息包
    String str="@";
    str+=room_name;
    str+="@";
    str+=Integer.toString(current);
    return str;
  }

  public String ToUserListNetpac()
  {
    //用户信息包
    String str = "25@";
    str+=Integer.toString(user.size());
    for (int i = 0; i < user.size(); i++) {
      str += "@";
      UserTempInfo info=(UserTempInfo)user.elementAt(i);
      str +=info.getname();
      str+="@";
      str+=Integer.toString(info.map);
    }
    return str;
  }

  public String ToMessageNetpac()
  {
    String str;
    str="26@";
    str+=this.str;
    return str;
  }
  public int FindMaxSeq()
  {
    UserTempInfo info ;
    int max_seq=0;
    for(int i=0;i<user.size();i++)
    {
      info= (UserTempInfo) user.elementAt(i);
      if (max_seq < info.getseq())
        max_seq = info.getseq();
    }
    return max_seq;
  }
  public boolean AddTalker(UserTempInfo userinfo)
  {
    UserTempInfo info ;
    for(int i=0;i<WholeChatRoomInfo.rooms.size();i++)
    {
      RoomInfo rInfo=new RoomInfo();
      rInfo=(RoomInfo)WholeChatRoomInfo.rooms.elementAt(i);
      UserTempInfo uinfo= new UserTempInfo();
      for(int j=0;j<rInfo.user.size();j++)
      {
        uinfo = (UserTempInfo)rInfo.user.elementAt(j);
        if(uinfo.getname().compareTo(userinfo.getname())==0)
           return false;
      }
    }
    for(int i=0;i<user.size();i++)
    {
      info= (UserTempInfo) user.elementAt(i);
      if(info.getname().compareTo(userinfo.getname())==0)
        return false;
    }
    if(user.size()<=0)
      adm_name=userinfo.getname();
    user.addElement(userinfo);
    current++;
    return true;
  }

  public boolean DealTalker(String name)
  {
    UserTempInfo info ;
    for(int i=0;i<user.size();i++)
    {
      info= (UserTempInfo) user.elementAt(i);
      if(info.getname().compareTo(name)==0)
      {
        user.remove(i);
        current--;
        if(i==0&&i<user.size())
        {
          info = (UserTempInfo) user.elementAt(i);
          adm_name = info.getname();
        }
        return true;
      }
    }
    return false;
  }

}

⌨️ 快捷键说明

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