- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘 要
Socket是TCP/IP协议的编程接口,即利用Soceket的子类TcpListner和TcpClient就可以编程实现一个点对点局域网通信新系统,本文主要介绍用C#语言及Ado.net和Socket设计即时聊天系统的开发过程和方法。
关键字:C#;ADO.NET;SQL Server ; 即时聊天
1绪论
1.1即时聊天系统的发展
随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足人们的交流要求,在互联网或者局域网上即时与好友去的联系已经成为当今社会人们主流的联系方式。因此出现了QQ、MSN等聊天工具,然后QQ、MSN等聊天工具虽然方便、使用,但是,在许多企业内部由于安全以及这样那样的原因屏蔽了这些聊天工具的使用。为此,决定开发一个专用于实现局域网内计算机之间即时通信、文件传输的系统,以方便两台计算机之间信息的交流。
1.2C#语言简介
1.2.1C#的背景
C#(念法:C Sharp,音标 [∫a:p])是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的研究成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET?windows网络框架的主角。SQL Server 是一个全面的、集成的、端到端的数据解决方案,它为组织中的用户提供了一个更安全可靠和更高效的平台用于企业数据和 BI 应用。SQL Server 2005 为 IT 专家和信息工作者带来了强大的、熟悉的工具,同时降低了在从移动设备到企业数据系统的多平台上创建、部署、管理和使用企业数据和分析应用程序的复杂性。
3系统设计
3.1层次设计
3.1.1层次设计图
层次设计图如下所示:
图3-1-1
3.2流程设计
3.2.1客户端协议流程设计
协议流程如图3-2-1所示,验证成功后创建聊天界面时的初始化过程中会启动聊天窗口并创建Socket连接服务器,启动数据收发线程,而在聊天过程中一开始需要使用CONN命令(图中未给出)激活连接,之后便可以选择其他不同的命令(模式)进行发送信息到服务器。
1.CONN命令:用户初次激活连接
2.OK命令:用于显示信息成功发送到服务器
3.ERR命令:用于显示信息发送服务器失败
4.LIST命令:更新用户列表
5.JOIN命令:显示新加入的用户
6.CHAT命令:向所有用户广播信息
7.PRIV命令:向特定用户发送信息
8.QUIT命令:用户离开并提示服务器删除用户
9.EXIT命令:服务器通知特定用户离开
3.2.2服务器协议流程设计
协议流程如图3-2-2所示,服务器启动后设置好需要监听的窗口即可启动监听并启 动客户数据接收线程,接收到用户信息之后便解释命令分别处理各种信息。
1.CONN命令:向全部用户发送JOIN以及向当前用户发送LIST
2.LIST命令:向当前用户发送在线用户列表
3.CHAT命令:向所有用户发送信息
4.PRIV命令:向特定接收用户转发信息
5.QUIT命令:删除指定用户数据,向全部用户发送EXIT
图3-2-1 客户端协议流程图 图3-2-2服务器协议流程图
4系统实现
4.1数据库注册及验证
4.1.1SQL Server事项
1.验证方式:由于客户端对用户数据的验证过程中必须要对数据库进行远程登录,故SQL Server的验证方式只能为SQL验证,这样子就涉及一个很关键的东西:该数据的访问权限。
2.访问权限:是由登录名来实现控制的,具体的设置可以使用SQL Server客户端实现,设置过程为“安全性—登录名—新建—选择SQL验证并创建登录名”,然后在用户映射一栏,如图4-1-1所示,选择需要映射的数据库,由于本人建立的数据库为usrs,故选择usrs。
图4-1-1
4.1.2Ado.net分析
ADO.NET体系结构如图4-1-2所示,其中DataProvider为与数据库直接相连的联机对象,DataSet为与数据库无关的断开对象,数据从数据库读出后存在DataSet中。在该系统中所有与数据库有关的操作都有本人新建的类DBcns来完成。
图4-1-2
1.验证:登陆界面如图4-1-3所示,其中DB服务器IP一栏输入数据服务器IP地址,DB登录名和DB密码分别输入访问该数据库对应的登录名与密码。其具体的DBcns类中实现代码分别为:
//重载改变cnsstr的方法
public
文档评论(0)