In the process of developing my .NET Enterprise Instant Communication Software (Inteliim), an outgoing instant messaging software architecture based on the room is translated into English to Room-Based Instant Messenger.
The idea is preliminarily considered:
By organizing the conversation process into a room, the conversation process is more interesting and customizable.
Each conversation process occurs in a room (ROOM), each room has a Scene, a scenario specifies the rules of each room (ROOM), such as whether it is locked, whether more than three people are allowed Can you play background music, have other value-added services, and so on.
According to the provisions of each room, you can be divided into a clock room (just allowed to perform a specified time and / or specified time period), standard room, VIP room (enjoy a variety of value-added services, such as listening to music, reading news, and others) Personal customization service), leisure room (such as listening to music, see disc), etc.
By organizing the conversation process into a room, it is convenient to organize and link independently, thereby achieving UNOPE functions.
Depending on the network conditions, there are two types of rooms that are mainly divided into Internet Environment and LAN (relatively good network environments). These two types of rooms are implemented by Web services and sockets, respectively. Why use web services to implement Internet-based rooms? Despite the sacrifices of the speed, we can wear the firewall with a web service, which can walk in today's network. Of course, if there is a very mature firewall penetration, it can be used.