什么是Socket?
  所谓Socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
  Socket用于在两个基于TCP/IP协议的应用程序之间相互通信。最早出现在UNIX系统中,是UNIX系统主要的信息传递方式。在WINDOWS系统中,Socket称为WINSOCK。
  两个基本概念:客户方服务方。当两个应用之间需要采用Socket通信时,首先需要在两个应用之间(可能位于同一台机器,也可能位于不同的机器)建立Socket连接,发起呼叫连接请求的一方为客户方,接受呼叫连接请求的一方成为服务方。客户方和服务方是相对的,同一个应用可以是客户方,也可以是服务方。
  在客户方呼叫连接请求之前,它必须知道服务方在哪里。所以需要知道服务方所在机器的IP地址或机器名称,如果客户方和服务方事前有一个约定就好了,这个约定就是PORT(端口号)。也就是说,客户方可以通过服务方所在机器的IP地址或机器名称和端口号唯一的确定方式来呼叫服务方。在客户方呼叫之前,服务方必须处于侦听状态,侦听是否有客户要求建立连接。一旦接到连接请求,服务方可以根据情况建立或拒绝连接。连接方式有两种,同步方式(Blocking)和(noBlocking).
  客户方发送的消息可以是文本,也可以是二进制信息流。当客户方的消息到达服务方端口时,会自动触发一个事件(event),服务方只要接管该事件,就可以接受来自客户方的消息了。

  前几天编写一个Vod下载器,用到了此方面的知识,顺便就把相关的资料整理一下,可以加强学习,以备以后,同时也方便大家。

  文章下载地址:https://files.cnblogs.com/xia520pi/C_Sharp_Socket.rar

  文章的目录:

1C#编写简单的聊天程序... 2

1.1、版权声明... 2

1.2、内容详情... 2

2C#网络编程... 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

3Scoket 处理HTTP请求响应... 77

3.1、版权声明... 77

3.2、内容详情... 77

4、浅谈C# Socket编程及多线程... 84

4.1、版权声明... 84

4.2、内容详情... 84

5Socket编程笔记... 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

 

posted on 2011-10-08 19:13  虾皮  阅读(11097)  评论(21编辑  收藏  举报