winform项目——仿QQ即时通讯程序01:原理及项目分析

编程项目2019/12/7 21:50:36阅读:828

即时通讯程序,腾讯QQ可以说是一家独大,虽然市场上仍然有类似QQ的即时通讯程序,但是基本上面向的对象都是特定人群。那么,现在做一个即时通讯的软件还有意义吗?在我看来,意义非常大。作为一个学习编程的人,整天和电脑、互联网打交道,而互联网最大的作用就是信息传递,如果能够做出自己的即时通讯软件,不仅能够增加编程技术经验,更能深深体会互联网信息传递的奥妙。

QQ


接下来几天,我将会分多个文章来做这个项目,有兴趣的小伙伴可以按照文章中的步骤一起做。做这个项目你需要会这些技术:

1.winform

2.SQL Server

今天这篇文章,我们就先来进行项目分析。

在进行分析之前呢我们要先讲一下即时通讯软件的原理

即时通讯,即用户A给用户B通过网络发送消息,用户B通过网络接收到消息。如果不考虑互联网的诸多限制,那么每个用户只需要一个客户端在手中就行了,用户与用户之间就是单线联系,但是呢因为公网IP资源有限,我们客户端设备手机、电脑等一般都不是直接连接的互联网,而是连接的运营商划分的局域网当中, 而两台不同局域网的设备一般是不能穿透中间的互联网直接访问的,所以呢,问题就出在这里,既然都可以访问互联网,那么在互联网上加一个中间商,消息呢就都先发送给这个中间商,由它来帮忙转发一下消息,这样就能实现A和B之间的通信了。

互联网通信原理


那么这个中间商就是即时通讯软件的服务端。

功能分析

根据用户操作步骤,我们可以将软件划分如下几种功能:

一、客户端

1.用户注册:基本资料的填写,由系统随机生成账号id

2.用户登录

3.用户资料初始化:

初始化用户资料,比如头像、昵称、个性签名、好友等

初始化好友列表:获取好友在线状态

初始化验证消息

4.查找并发送添加好友请求

5.同意好友验证

6.好友间互发消息:历史记录保存在本地

二、服务端

1.消息转发:即时通讯系统的核心功能

2.日志记录:记录所有用户的上线、下线操作;

暂时就先定下这些功能,后面做的时候如果有想不到的再补充,下一篇文章就是进行数据库的分析与设计了。


本文系小博客网站原创,转载请注明文章链接地址