C#的Chatting在线聊天系统设计+源代码(2)

5.5聊天记录导出模块17 结束语19 致谢20 参考文献21 附录22 系统实现部分代码22 历史更新记录32 第一章绪论 1.1课题背景 到目前为止,世界范围内做IM的公司


5.5聊天记录导出模块 17

结束语 19

致谢 20

参考文献 21

附录 22

系统实现部分代码 22

历史更新记录 32

第一章绪论

1.1课题背景

到目前为止,世界范围内做IM的公司不胜枚举,产品却不尽相同,国内有诸如腾讯QQ、陌陌、日本的Line.越南的Zalo,我则根据国人最爱的的QQ和外国人最爱的Messager进行了一些学习性了解,用作我开发的这套IM的模版。

现如今虽然有很多公司都提供了在线聊天软件,但是由于其通用性导致其不可定制性,并且运行在互联网,有时候并不适合局域网的交流,有时候用户并不希望自己的消息被第三方服务器保存,因此本人根据这个需求为这一类用户量身定制了这一套系统。

限于本人能力不足,只能在借鉴的基础上进行改进模仿,通过运行QQ,并且观察运行时候发送消息的各种细节,最终确定了用户数据直接存到数据库,然后从数据库拉去属于用户自己消息的信息,这样做的好处有以下几点:第一,消息都是存在数据库的不会发生丢失,用户可以随时的导出自己所需要的信息,第二,因为是对数据库直接通信,用户和用户之间不发生数据往来,这样也有避免了用户可以通过抓包得到目标用户的ip,实施ip攻击,第三,即使用户不在线用户也可以进行通信,用户上线之后消息可以实时的推送给用户,最大程度的方便了用户,同时也提升了用户体验。

1.2课题现状

即时聊天系统Chatting项目是直接面对用户的,但是并不是所有的使用人员都对计算机熟悉,这便要求系统要提供一个良好的用户接口,容易使用的人机交互界面。主界面要求设计简单、美观,各个操作清楚显示,用户自主选择。针对使用过程中可能出现的问题可以建立一个帮助反馈平台。

在日常的生活中,有时候用户交流条件比较严格,比如两个用户不在同一地点,无法面对面交流,虽然用户可以通过电话短信交流,但是用户需要支付不少的通信费用。

而Chatting正是为了解决用户单纯的聊天需求,去除诸如QQ等软件繁杂的附加服务,重新设计开发,以满足用户需求。

本套系统采用C/S架构,考虑到人数问题和局域网聊天的特殊性,最后决定采用这种客户端/服务端的架构,客户端每次输入或者事件直接从数据库检索数据,不需要用户同时在线时才能进行聊天,同时管理员可以在必要的时候调去服务器的聊天记录方便以后的记录或者对不法帐号的封禁以及解封,界面直观,维护方便.

本系统用C#Winform+SQLSERVER2016实现,开发工具为VistualStudio2015+MicrosoftSQLServerManagementStudio,技术易于实现且界面直观,其中在程序用数据库连接方式采用了TCP/IP协议以及微软的ADO.NET技术,ADO.NET封装了连接数据库以及对数据库增删改查的基本功能,其中SqlConnection与SqlCommand便是本次毕业设计的连接数据库并且执行命令的核心,可以说没有这两个类,就没有今天的这套多人在线聊天系统

为了使界面更加美观易用,我们添加了sidebar.dll这个第三方控件,使得软件的操作体验更上一层楼,并且大大减少了代码编写量,提高了开发效率.

服务器端的核心则是数据库,因为本次软件是针对少数人开发的局域网聊天软件,所以没有对网络并发量和多线程做特别处理,通过MicrosoftSQLServerManagementStudio更加直观的管理数据库,使得问题的排查变得更加的简单.

为了便于演示本次的毕业设计,特意使用了本地局域网服务器和万维网服务器腾讯云,可以更加方便的演示和更加细致的了解两个网络环境内Chatting的运行的区别.

1.3课题意义

从一开始的在线聊天的雏形到最后的完整版本产生,一共经历了九次迭代,从最开始只有简单的登陆注册功能到现在的可以在线聊天并且方便的添加删除好友,积攒了大量的开发经验,也为以后的工作打下了基础。通过对本系统的编写,了解了软件开发过程中的主要步骤,使自己对软件开发有了一个全新的认识,即使以后从事其他的与软件相关的工作,也可以复用本次开发过程中产生的成果,一举多得。