After a period of study, I came up with an idea to develop my own instant messaging software.
One is the consolidation of the learned knowledge, and the other is the exploration and mastery of new knowledge in the process of practice. I know that for the current level, it is difficult to develop this thing. But I will try my best to complete it.
In practice, I will update this series from time to time based on the progress.ArticleThe software will be released after completion.Source code
This is the overall plan:
1: Develop an instant messaging core. This core consists of the server core component and client component, which provides strong support for text transmission, video, voice, and file transmission. These transmission services are Internet-oriented and can penetrate the firewall without the impact of NAT, so as to implement P2P communication. My network name is "Fox", so I will name the core "Fox" for the moment. The fox core can be easily integrated with other software. By using the fox core, you can easily develop instant messaging, video conferencing, distance education, and other software.
2: Develop an instant messaging software based on the Fox core.
The preliminary plan of the fox core will adopt the following technologies: SQL Server database based on TCP and UDP data transmission asynchronous multi-thread ADO. Net C #. Net layered architecture
If time and energy permits, you will continue to learn to further improve the fox core so that it can support a variety of Oracle and MySQL databases, and encrypted transmission of information, etc, in addition, tests and continuous transformation are carried out to improve the stability and robustness of the fox core and the performance of the core itself.
Due to my poor level, the progress may be slow. The main purpose of this development plan is to improve my professional level. I hope more experienced people will give their opinions. Whether the result is successful or failed, I believe that I will greatly improve it.
because I am still a student, I do not know much about the detailed design of requirement analysis because I have no project experience. However, I often have some experience in practice, when the Program is getting bigger and bigger, if there is no reasonable plan, I don't even understand it, the structure and logic of the entire software are messy and difficult to maintain and modify. if you have experience in this area, you may wish to provide some comments.