InteliIM 1.0 设计文档 - 全文总结与工作展望(修订)

原创 2004年07月01日 01:25:00

全文总结与工作展望

1.1. 主要成果
经过一段时间的摸索和实践,完成了在.NET 平台下局域网即时通讯软件的初步设计,具有一般局域网即时通讯软件的基本功能,如用户管理,消息管理,联系人管理,P2P文本聊天,文本广播,文件传输以及语音聊天,离线消息存储与转发等。

1.2. 设计中遇到的问题和解决办法

         在工程前期,由于没有使用 XML 对象串行化,对每个消息的每个属性都进行 XML 编码,比较烦琐。在采用 System.Xml.Serialization.XmlSerializer 类对消息的载入和保存采取 XML 对象串行化后,代码变得简洁,明了,只需为消息定义好每个属性后,XmlSerializer 即可自动对该消息的每个属性串行化和反串行化。

          考虑到运行环境的多样性,系统没有使用数据库存储数据,而是直接采用 XML 文件通过 ADO.NET 中的数据集这个桥梁存储数据。而要在需要运用数据库存储数据来提高系统性能的地方时,改由数据库存储也是相当容易的。

          在设计文件传输功能的过程中,首先由于没有考虑到 UDP 数据报的大小限制,而企图采用一次性传输文件数据,而以失败告终。后来想到将文件传输数据切割成大小合适的包并加以编号,然后在接收端组装起来,从而实现文件的传输。

1.3. 值得改进和完善的地方
l 如前所述系统没有采用数据库存储数据,而是直接采用 XML 文件存储,虽然简化了软件部署问题,降低了系统配置要求,但是牺牲了性能。在实际的应用中,应该根据企业的实际软硬件设施,实现不同的数据库存储接口。

l 由于系统目前传输的文本聊天信息在测试过程中没有采用很大的文本数据进行测试,因而传输的相关即时消息没有达到 UDP 数据报大小的上限,因而没有出现问题。但是可以看到在传输稍微大一点的数据,如在传输私有聊天中的内嵌在文本中的图片时就遇到了问题,系统提示发生了所传输的数据超过 UDP 数据报大小的限制。因而在实际的系统中应该在发送方根据所发送的即时消息的大小进行适当的分组和编号,并在接收方按照编号顺序将相关的即时消息片段重新组合。

l 在设计诸如文件传输等需要大数据量传输的功能时,由于开始不论是什么即时消息,客户端均通过服务器中转方式与另一客户端通讯;一方面增加了服务器的负载,降低了服务器的性能;另一方面,大数据量特别是要求实时传输的功能实现起来就捉襟见肘了。后来,针对该问题,改进了底层的通讯方式,在线的两个客户端之间的消息直接传输,而不通过服务器中转,这样对于那些诸如文件传输,语音聊天等大数据量性能就明显好转了。

致 谢

参考文献

[1] Simon Robinson K.Scott Allen等著,C#高级编程,清华大学出版社,2002

[2] Stanley B.Lippman 著,C# Primer中文版,华中科技大学出版社,2003

[3] Robert Powell Richard Weeks 著,C#和.NET架构, 人民邮电出版社,2002

[4] Charles Petzold 著, Microsoft C# Windows程序设计(上下册),北京大学出版社,2002

[5] Tom Archer 著,C#技术内幕,清华大学出版社,2002

[6] 钱昆 著,C#实用编程技术,水利水电出版社,2001

[7] Andrew Krowczyk Vinod Kumar等著,.NET网络高级编程,清华大学出版社,2003

[8] http://www.codeproject.com

[9] http://www.sourceforge.net

[10] http://www.csdn.net

[11] http://www.myim.com

[12] http://www.imu.com

[13] http://www.qq.com

[14] http://www.msn.com

[15] http://www.aol.com

2016-2017工作学习总结与展望

2016-2017工作学习总结与展望   总结2016: 2016年总体来说过的还是比较充实的,经历了两个大项目的洗礼,对工作中的事情,相对一年前得心应手的多了。生活也有了更多的想法。 工作上:   ...
  • wuheshi
  • wuheshi
  • 2017年01月03日 17:31
  • 460

2017年总结与展望

2017年要过去了,对于自己这一年来的工作,总结和展望如下:1 工作过程中,发现自己的知识储备,动手能力不足,特别是跟组内的大牛相比,差距不是一点点。因此,在明年,要多看书,多看代码,多做项目,包括业...
  • whq19890827
  • whq19890827
  • 2017年12月29日 22:54
  • 204

新公司的一点感悟和最近一段时间的工作总结及其将来展望.

今年5月份来到了一家做专做手机launcher的公司,薪资还算满意,全年16月薪资。至今主线任务一直在做一款游戏汇的APP,基于公司之前在launcher上使用的下载流程sdk做开发。 以上是一套整...
  • micaixiaoduanku
  • micaixiaoduanku
  • 2014年12月14日 22:05
  • 2077

InteliIM 1.0 设计文档 - 软件功能和界面需求(修订)

?软件功能和界面需求1.软件功能和界面需求1.1.客户端程序1.1.1. 功能概述客户端程序主要负责提供图形化界面用于服务器程序通讯。1.1.2.用户界面设计l主窗体主窗体包含主菜单,顶部工具栏,底部...
  • greenland
  • greenland
  • 2004年07月01日 01:37
  • 2648

InteliIM 1.0 设计文档 - 概要设计和详细设计(修订)

1.概要设计和详细设计1.1.总体设计描述首先,为了使用客户端,必须正确配置好服务器的 IP 地址和端口号。当然,在客户端使用过程中可以随时修改服务器配置,并重新登陆。用已有的用户名和密码登陆服务器,...
  • greenland
  • greenland
  • 2004年07月01日 01:32
  • 3123

C#程序设计总结

C#是C和C++语言家族中最新潮流的面向组件语言。它是从C和C++派生的一种简单的、现代的、类型安全的面向对象程序设计语言。希望通过 此篇博客让你对C#程序设计有一个大致的理解和掌握。...
  • u013037201
  • u013037201
  • 2014年12月07日 11:20
  • 1632

06计算机优秀毕业论文-总结和展望

短工邦平台最重要的事,那就是做好兼职行业的基础服务。我们已经可以保证平台上大部分工作数据是真实的,减少用户上当受骗的几率。而接下来,还需要花更多时间在工作数据的有效性上面!因为用户要寻找一个短期工作,...
  • duangongbang
  • duangongbang
  • 2016年03月07日 23:06
  • 2863

两年软件开发工作总结及未来展望

光阴似箭,日月如梭,转眼之间,我毕业工作都将近两年了。回首往事,我最大的感触就是:时间都去哪儿了呢?       最近,我看到CSDN举办了一个叫做畅想“我的IT成长路”的活动,觉得挺有意思的。作为广...
  • u013467442
  • u013467442
  • 2016年05月16日 21:27
  • 5734

回望过去,展望未来---关于2015it报告的总结

最近才有时间去关注下IT领袖峰会,关于这届的峰会,不少的互联网的大咖都来做了一次演讲,在这一次的了解中,对今年的发展和产业有了一个更好的了解,,关于其他人的演讲都在说明这大公司在布局物联网,完善互联网...
  • lxh5431
  • lxh5431
  • 2016年07月08日 23:41
  • 770

2017年终总结+2018展望

今年还不错,可圈可点。 读了几本书。 考了几个试。 自学一项技能。 参加了本就想参加的编程活动。 几件事情连续的来,环环相扣。 符合年初的规划! 明年打算只做一件事情, 关乎未来的大事, 只做这一件...
  • ndzjx
  • ndzjx
  • 2017年12月11日 23:19
  • 2472
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:InteliIM 1.0 设计文档 - 全文总结与工作展望(修订)
举报原因:
原因补充:

(最多只允许输入30个字)