I. functions implemented by the system
This conference room system is mainly used for online meetings of EasyJF open-source team members. The conference system simulates traditional meetings and allows you to open multiple meeting rooms with different themes at the same time, the access permission control function is required for each meeting room. The Meeting speech mode can be specified in the meeting (divided into two types: queuing and free speech). The system can automatically record the speech information of each meeting room, it is available for long term reference by participants.
The conference system user supports the visitor account to attend the meeting, and also provides interfaces with other user systems, such as the open-source forum system on the EasyJF official website.
The conference system uses text chat and provides voice and video interfaces.
Ii. Technical System
◆ The server uses the Java language and MVC uses the EasyJWeb framework;
◆ The client uses AJAX technology to interact with the server;
◆ The storage format of historical conference information is in text format, which facilitates system installation and operation and management.
Iii. Server Design for conference rooms
The server side of the conference room is the core part of the whole conference system. The design of the server side program affects the quality of the whole system.
First, perform abstract analysis based on the functions to be implemented in the conference room. A meeting room object, it should include the Conference topic, Conference Introduction, number of participants, announcement, conference room type, access permission setting, room password, current participants, current speakers, waiting for speeches personnel and other parameter information. We encapsulate it into a Java object. The following ChatRoom code is shown:
Public class ChatRoom { Private String cid; // primary key Private String title; // chat room topic Private String intro; // chat room Introduction Private String announce; // chat room announcement Private String owner; // The creator of the chat room Private Integer maxUser; // maximum number of online users Private Integer intervals; // maximum interval of refreshing Private String vrtype; // access permission Private String vrvalue; // access value Private Integer status; // chat room status Private Date inputTime; }
|
A class for meeting room management is required. operations related to meetings, such as opening or closing meetings, are directly directed to him. This class should also enable automatic and timed detection of users' online conditions to prevent unexpected user exits.) Save the meeting history speech information in the memory to a text file. Here you can consider using a ChatService class to provide these features:
Public class ChatService implements Runnable { Private static final Map service = new HashMap (); // meeting room service. The current meeting room in the system is stored in this table set. Private static final int maxServices = 10; // maximum number of meeting rooms that can be opened simultaneously Private static final SimpleDateFormat df = new SimpleDateFormat ("yyyy-MM-dd "); Private final List msgs; // Chat Information Private final List users; // online user, ChatUser Private final List talkers; // Number of queued speakers Talker Private final List manager; // meeting room Administrator Private Talker currentTalker; // current Speaker Public ChatService () { This. msgs = new ArrayList (); This. users = new ArrayList (); This. talkers = new ArrayList (); This. manager = new ArrayList (); This. maxUser = 1000; // a maximum of 1000 users simultaneously This. interval = 1000*60*5; // Information 5 minutes ago } }
|
The conference speech information also needs to be encapsulated into a class to indicate the speaker, recipient, content, time and type. The Chat class is roughly as follows:
public class Chat { private String cid; private String sender; private String reciver; private String content; private Date vdate; private Integer types; private Integer status; }
|
There are also information about the participants, including the name, IP address, and status of the participants, as shown in the following ChatUser class:
public class ChatUser { private String ip; private String port; private String userName; private Date lastAccessTime; private Integer status; }
|