没有合适的资源?快使用搜索试试~ 我知道了~
C#Socket编程经典教程
4星 · 超过85%的资源 需积分: 10 20 下载量 4 浏览量
2012-12-13
09:19:54
上传
评论 1
收藏 933KB PDF 举报
温馨提示
试读
114页
自己从网上找来的,学习后真的受益匪浅,很适合新手入门,C#Socket编程经典教程
资源推荐
资源详情
资源评论
细细品味 C#
——Socket 编程
精
华
集
锦
csAxp
虾皮工作室
http://www.cnblogs.com/xia520pi/
2011 年 10 月 4 日
创建时间:2011/10/4 修改时间:2011/10/4 修改次数:0
河北工业大学——软件工程与理论实验室 编辑:虾皮
1
目录
1、C#编写简单的聊天程序.........................................................................................2
1.1、版权声明........................................................................................................2
1.2、内容详情........................................................................................................2
2、C#网络编程...........................................................................................................20
2.1、版权声明......................................................................................................20
2.2、内容详情......................................................................................................20
2.2.1 基本概念和操作..................................................................................20
2.2.2 同步传输字符串..................................................................................32
2.2.3 异步传输字符串..................................................................................44
2.2.4 订立协议和发送文件..........................................................................56
2.2.5 接收文件..............................................................................................70
3、Scoket 处理HTTP请求响应.................................................................................77
3.1、版权声明......................................................................................................77
3.2、内容详情......................................................................................................77
4、浅谈C# Socket编程及多线程...............................................................................84
4.1、版权声明......................................................................................................84
4.2、内容详情......................................................................................................84
5、Socket编程笔记.....................................................................................................90
5.1、版权声明......................................................................................................90
5.2、内容详情......................................................................................................90
6、深入探析C# Socket...............................................................................................98
6.1、版权声明......................................................................................................98
6.2、内容详情......................................................................................................98
7、最基本的Socket编程...........................................................................................110
7.1、版权声明....................................................................................................110
7.2、内容详情....................................................................................................110
创建时间:2011/10/4 修改时间:2011/10/4 修改次数:0
河北工业大学——软件工程与理论实验室 编辑:虾皮
2
1、C#编写简单的聊天程序
1.1、版权声明
文章出处:http://www.cnblogs.com/JimmyZhang/archive/2008/09/07/1286299.html
文章作者:Jimmy Zhang
1.2、内容详情
引言
这是一篇基于 Socket 进行网络编程的入门文章,我对于网络编程的学习并不够深入,
这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分
为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实
现。
程序的分析与设计
1.明确程序功能
如果大家现在已经参加了工作,你的经理或者老板告诉你,“小王,我需要你开发一个
聊天程序”。那么接下来该怎么做呢?你是不是在脑子里有个雏形,然后就直接打开 VS2005
开始设计窗体,编写代码了呢?在开始之前,我们首先需要进行软件的分析与设计。就拿本
例来说,如果只有这么一句话“一个聊天程序”,恐怕现在大家对这个“聊天程序”的概念
就很模糊,它可以是像 QQ 那样的非常复杂的一个程序,也可以是很简单的聊天程序;它可
能只有在对方在线的时候才可以进行聊天,也可能进行留言;它可能每次将消息只能发往一
个人,也可能允许发往多个人。它还可能有一些高级功能,比如向对方传送文件等。所以我
们首先需要进行分析,而不是一上手就开始做,而分析的第一步,就是搞清楚程序的功能是
什么,它能够做些什么。在这一步,我们的任务是了解程序需要做什么,而不是如何去做。
了解程序需要做什么,我们可以从两方面入手,接下来我们分别讨论。
1.1 请求客户提供更详细信息
我们可以做的第一件事就是请求客户提供更加详细的信息。尽管你的经理或老板是你的
上司,但在这个例子中,他就是你的客户(当然通常情况下,客户是公司外部委托公司开发
软件的人或单位)。当遇到上面这种情况,我们只有少得可怜的一条信息“一个聊天程序”,
首先可以做的,就是请求客户提供更加确切的信息。比如,你问经理“对这个程序的功能能
不能提供一些更具体的信息?”。他可能会像这样回答:“哦,很简单,可以登录聊天程序,
登录的时候能够通知其他在线用户,然后与在线的用户进行对话,如果不想对话了,就注销
或者直接关闭,就这些吧。”
创建时间:2011/10/4 修改时间:2011/10/4 修改次数:0
河北工业大学——软件工程与理论实验室 编辑:虾皮
3
有了上面这段话,我们就又可以得出下面几个需求:
程序可以进行登录。
登录后可以通知其他在线用户。
可以与其他用户进行对话。
可以注销或者关闭。
1.2 对于用户需求进行提问,并进行总结
经常会有这样的情况:可能客户给出的需求仍然不够细致,或者客户自己本身对于需求
就很模糊,此时我们需要做的就是针对用户上面给出的信息进行提问。接下来我就看看如何
对上面的需求进行提问,我们至少可以向经理提出以下问题:
NOTE:这里我穿插一个我在见到的一个印象比较深刻的例子:客户往往向你表达了强烈的
意愿他多么多么想拥有一个属于自己的网站,但是,他却没有告诉你网站都有哪些内容、栏
目,可以做什么。而作为开发者,我们显然关心的是后者。
登录时需要提供哪些内容?需不需要提供密码?
允许多少人同时在线聊天?
与在线用户聊天时,可以将一条消息发给一个用户,还是可以一次将消息发给多个
用户?
聊天时发送的消息包括哪些内容?
注销和关闭有什么区别?
注销和关闭对对方需不需要给对方提示?
由于这是一个范例程序,而我在为大家讲述,所以我只能再充当一下客户的角色,来回
答上面的问题:
登录时只需要提供用户名称就可以了,不需要输入密码。
允许两个人在线聊天。(这里我们只讲述这种简单情况,允许多人聊天需要使用多
线程)
因为只有两个人,那么自然是只能发给一个用户了。
聊天发送的消息包括:用户名称、发送时间还有正文。
注销并不关闭程序,只是离开了对话,可以再次进行连接。关闭则是退出整个应用
程序。
注销和关闭均需要给对方提示。
好了,有了上面这些信息我们基本上就掌握了程序需要完成的功能,那么接下来做什
么?开始编码了么?上面的这些属于业务流程,除非你对它已经非常熟悉,或者程序非常的
小,那么可以对它进行编码,但是实际中,我们最好再编写一些用例,这样会使程序的流程
更加的清楚。
1.3 编写用例
创建时间:2011/10/4 修改时间:2011/10/4 修改次数:0
河北工业大学——软件工程与理论实验室 编辑:虾皮
4
通常一个用例对应一个功能或者叫需求,它是程序的一个执行路径或者执行流程。编写
用例的思路是:假设你已经有了这样一个聊天程序,那么你应该如何使用它?我们的使用步
骤,就是一个用例。用例的特点就每次只针对程序的一个功能编写,最后根据用例编写代码,
最终完成程序的开发。我们这里的需求只有简单的几个:登录,发送消息,接收消息,注销
或关闭,上面的分析是对这几点功能的一个明确。接下来我们首先编写第一个用例:登录。
在开始之前,我们先明确一个概念:客户端,服务端。因为这个程序只是在两个人(机
器)之间聊天,那么我们大致可以绘出这样一个图来:
我们期望用户 A 和用户 B 进行对话,那么我们就需要在它们之间建立起连接。尽管“用
户 A”和“用户 B”的地位是对等的,但按照约定俗称的说法:我们将发起连接请求的一方
称为客户端(或叫本地),另一端称为服务端(或叫远程)。所以我们的登录过程,就是“用
户 A”连接到“用户 B”的过程,或者说客户端(本地)连接到服务端(远程)的过程。在
分析这个程序的过程中,我们总是将其分为两部分,一部分为发起连接、发送消息的一方(本
地),一方为接受连接、接收消息的一方(远程)。
这里我们的用例名称为登录和连接,但是后面我们又打了一个括号,写着“本地”,它
剩余113页未读,继续阅读
lwd7223199
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页