- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c 编写简单的聊天法度模范宝典
C#编写简单的聊天程序
引言
这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实现。
程序的分析与设计
1.明确程序功能
如果大家现在已经参加了工作,你的经理或者老板告诉你,“小王,我需要你开发一个聊天程序”。那么接下来该怎么做呢?你是不是在脑子里有个雏形,然后就直接打开VS2005开始设计窗体,编写代码了呢?在开始之前,我们首先需要进行软件的分析与设计。就拿本例来说,如果只有这么一句话“一个聊天程序”,恐怕现在大家对这个“聊天程序”的概念就很模糊,它可以是像QQ那样的非常复杂的一个程序,也可以是很简单的聊天程序;它可能只有在对方在线的时候才可以进行聊天,也可能进行留言;它可能每次将消息只能发往一个人,也可能允许发往多个人。它还可能有一些高级功能,比如向对方传送文件等。所以我们首先需要进行分析,而不是一上手就开始做,而分析的第一步,就是搞清楚程序的功能是什么,它能够做些什么。在这一步,我们的任务是了解程序需要做什么,而不是如何去做。
了解程序需要做什么,我们可以从两方面入手,接下来我们分别讨论。
1.1请求客户提供更详细信息
我们可以做的第一件事就是请求客户提供更加详细的信息。尽管你的经理或老板是你的上司,但在这个例子中,他就是你的客户(当然通常情况下,客户是公司外部委托公司开发软件的人或单位)。当遇到上面这种情况,我们只有少得可怜的一条信息“一个聊天程序”,首先可以做的,就是请求客户提供更加确切的信息。比如,你问经理“对这个程序的功能能不能提供一些更具体的信息?”。他可能会像这样回答:“哦,很简单,可以登录聊天程序,登录的时候能够通知其他在线用户,然后与在线的用户进行对话,如果不想对话了,就注销或者直接关闭,就这些吧。”
有了上面这段话,我们就又可以得出下面几个需求:
程序可以进行登录。
登录后可以通知其他在线用户。
可以与其他用户进行对话。
可以注销或者关闭。
1.2对于用户需求进行提问,并进行总结
经常会有这样的情况:可能客户给出的需求仍然不够细致,或者客户自己本身对于需求就很模糊,此时我们需要做的就是针对用户上面给出的信息进行提问。接下来我就看看如何对上面的需求进行提问,我们至少可以向经理提出以下问题:
NOTE:这里我穿插一个我在见到的一个印象比较深刻的例子:客户往往向你表达了强烈的意愿他多么多么想拥有一个属于自己的网站,但是,他却没有告诉你网站都有哪些内容、栏目,可以做什么。而作为开发者,我们显然关心的是后者。
登录时需要提供哪些内容?需不需要提供密码?
允许多少人同时在线聊天?
与在线用户聊天时,可以将一条消息发给一个用户,还是可以一次将消息发给多个用户?
聊天时发送的消息包括哪些内容?
注销和关闭有什么区别?
注销和关闭对对方需不需要给对方提示?
由于这是一个范例程序,而我在为大家讲述,所以我只能再充当一下客户的角色,来回答上面的问题:
登录时只需要提供用户名称就可以了,不需要输入密码。
允许两个人在线聊天。(这里我们只讲述这种简单情况,允许多人聊天需要使用多线程)
因为只有两个人,那么自然是只能发给一个用户了。
聊天发送的消息包括:用户名称、发送时间还有正文。
注销并不关闭程序,只是离开了对话,可以再次进行连接。关闭则是退出整个应用程序。
注销和关闭均需要给对方提示。
好了,有了上面这些信息我们基本上就掌握了程序需要完成的功能,那么接下来做什么?开始编码了么?上面的这些属于业务流程,除非你对它已经非常熟悉,或者程序非常的小,那么可以对它进行编码,但是实际中,我们最好再编写一些用例,这样会使程序的流程更加的清楚。
1.3编写用例
通常一个用例对应一个功能或者叫需求,它是程序的一个执行路径或者执行流程。编写用例的思路是:假设你已经有了这样一个聊天程序,那么你应该如何使用它?我们的使用步骤,就是一个用例。用例的特点就每次只针对程序的一个功能编写,最后根据用例编写代码,最终完成程序的开发。我们这里的需求只有简单的几个:登录,发送消息,接收消息,注销或关闭,上面的分析是对这几点功能的一个明确。接下来我们首先编写第一个用例:登录。
在开始之前,我们先明确一个概念:客户端,服务端。因为这个程序只是在两个人(机器)之间聊天,那么我们大致可以绘出这样一个图来:
我们期望用户A和用户B进行对话,那么我们就需要在它们之间建立起连接。尽管“用户A”和“用户B”的地位是对等的,但按照约定俗称的说法:我们将发起连接请求的一方称为客户端(或叫本地),另一端称为服务端(或叫远程)。所以我们的登录过程,就是“用户A”连接到“用户B”的过程,或者说客户
您可能关注的文档
- 04 麻疹传播因素流行病学调查项目病例对照调查方案.ppt
- 07长安汽车巡展标准执行手册一个项目执行规划及考核标准的范本2580439186.ppt
- 08章直流稳压电源 电子技术习题及解答沈阳工业大学.ppt
- 08年高考英语备考交流华附-梁厚富.ppt
- 主题班会我担当.doc
- 15呼吸衰竭病人护理指引.doc
- 精品文档XX县卫生事业发展十三五规划.doc
- 店入股协议书新.doc
- 企业集团财务管理战略规划的一种构建方法——三步六分法.doc
- 整理版湘教版七年级数学上册备课组计划.doc
- 中央电大课程复习题个人团队与管理.doc
- 人教版六年级上册数学教案第五单元百分数精品教案.doc
- 低频函数信号发生器的设计 毕业设计 NXPowerLite.doc
- 当升科技北京基础研发中心可行性研究报告.ppt
- 最新电大社交礼仪期末考 试答案精品小抄考试必过.doc
- AP World History Review Session 600 – 1450 CE Sample Questions.ppt
- 六年级上册期末数学试题百分数复习1.ppt
- 篮球原地双手胸前反弹传球技术泉州八中刘荣辉.ppt
- 人音版小学音乐四年级下册全册导学案精品教案.doc
- 网络环境下消费者行为分析与营销对策研究市场营销本科毕业论文.doc
最近下载
- CECS 158:2015 膜结构技术规程规范标准资料.docx VIP
- GB_T 9711-2023石油天然气工业 管线输送系统用钢管.doc VIP
- 2025年广西广西公务员考试(时事热点)经典试题及答案汇总—广西公务员.docx VIP
- 小学48个音标教学课件.pptx VIP
- 供应商合规管理制度.pdf VIP
- 电气装置安装工程接地装置施工及验收规范GB50169—92.pdf VIP
- 负责任羽绒标准RDS生产管理手册.docx VIP
- 《Rubia》周深版歌词完整版打印下载打印.docx VIP
- RDS认证3.0农户鹅健康养殖计划.pdf VIP
- 2025辽宁锦州凌河区招聘社区专职工作者80人考试备考试题及答案解析.docx VIP
文档评论(0)