定义

  套接字(Socket)实质上就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,为应用层进程利网络协议交换数据提供了相应机制。套接字出于承上启下的作用,向上连接应用进程,向下则连接网络协议栈,不仅是应用程序通过网络协议进行通信的接口,也是应用程序与网络协议栈进行交互的接口。

 

引入

  套接字最初是为了方便开发网络应用程序而被美国伯克利大学在UNIX上推出的一种应用程序访问通信协议的操作系统的调用接字,后续被引入到Windows等其他操作系统之中,从而成为了开发网络应用程序的有效工具。

套接字存在于通信区域(地址族),主要用于将通过套接字通信的进程的共有性综合。套接字一般只与同一区域内的套接字交换数据,而Windows Socket只支持一个通信区域——AF_INET国际网区域,使用网际协议族通信的进程使用该域。

 

简介

  套接字是通信的基石,是支持TCP/IP的路通信的基本操作单元,可以将套接字看作两个网络应用程序进行通信是,各自通信连接中的端点,其构成了单个主机及整个网络间的编程界面。

  套接字是网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点,还是由IP地址和端口号结合以提供向应用层进程传送数据包的机制。

 

表示方法

  套接字的表示方法是点分十进制的IP地址后加上端口号,两者之间用冒号或逗号分隔开,即:

  套接字(Socket):(IP地址:端口号)

  例如:IP地址为192.168.112.20,端口号为23,则可得到套接字为(192.168.112.20:23)

 

主要类型

  套接字类型主要为流式套接字(SOCK_STREAM)、数据报套接字(SOCK_DGRAM)、原始套接字(SOCK_RAW)三种类型,三种类型依次针对于TCP协议、UDP协议和其他协议。

 

 

 

工作流程

  通过互联网进行通信时,至少需要一对套接字,分别运行于客户端与服务器端,依次为Client Socket、Server Socket。而套接字之间进行连接的过程主要可以划分为服务器监听、客户端请求和确认连接三个部分,其具体连接步骤如下所示:

 

 

 

主要特点

  针对于不同类型的套接字存在不同的特点,此处主要将套接字划分为有连接服务和无连接服务两个部分。

 

 

 

 

 

原文地址:http://www.cnblogs.com/Auion-idiot/p/16784977.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性