程序目录以及简介:
压缩包解压后有两个目录为Service以及Client,Service为服务端源代码,Client为客户端源代码。本程序的编写语言为C#,C#其作为一个热门及优秀的程序语言来说,编写ASP.NET以及WINFORM都很不错!本程序即为一个典型的WINFORM通讯程序。
在Internet高速发展的今天,通讯变的尤为重要,从国内的QQ到微软的MSN,都可以看出,人与人之间的交流需求越来越大。本程序即基于SOCKET模型来实现通讯,其实现了一个作为聊天软件来说的一些基本功能,即为注册、登入、加好友然后发送自己的消息。
技术详解:
本程序使用C#语言编写,其基与.NET。
程序分两部分,即为服务端与客户端,都使用SOCKET模型实现数据传输通讯,数据库为微软MSSQL。程序的连接协议都使用TCP,TCP其具有的稳定性、安全性,更是其作为聊天软件数据协议的重要条件!但是TCP的沾包,无边界等,是一个很典型的问题,本程序及很好的解决了该问题,通过将数据规范的存放在XML中,然后将其发出,接收方可以很好的判断XML是否完整,以此来决定是否完整的接收了数据。
服务端负责监听接入的连接以及数据,通过将接收到的数据根据需要,进行少量处理,然后转发到客户端,已达到数据转发的功能,即为:客户端1 --------服务端-------客户端2,因为协议使用的是TCP,所以只需要将服务端暴露在公网的环境下,客户端及可以正常的穿透路由器进行连接以及数据之间的传输。对于不在线的用户,又需要将数据发送给该用户,本程序使用的方法是将需要发送的数据存放于数据库当中,当该用户登入以后,及将数据发送给其。
客户端则负责与服务端连接,维护、处理用户的数据以及操作。将接收到的数据反馈给用户,以及将用户的数据发送给服务端,以便服务端处理之后再转发到接收方,以此来达到用户与用户之间的交流通讯。客户端以实现作为一个聊天软件的最基本的功能,用户可以修改一些个人资料以及头像。
不足以及待改进的地方:
因为本人时间不足以及本程序作为一个实验性作品,功能以及各种方面有不少缺陷,比如安全性、个人资料缺少,以及聊天只能输入文字的单调性,数据协议的构架合理性,都缺少更多的考虑以及可行性,本程序作为一个可正式使用的程度还有一定的距离。
注意:本程序部分图片素材取自MyQQ项目。
1