Socket网络连接详解.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Socket网络连接详解

Socket网络连接详解 一. 网络OSI模式(7层) 网络模型:OSI(开放系统互联Open System Interconnnection)TCP/IP参考模型 网络通讯要素: 1.IP地址(唯一标识网络设备) 网络中设备的标示 不易记忆,可以用主机名 本地回环地址: 主机名:localhost 2.端口号(定位程序标示进程的逻辑地址,不同进程的标示) 有效端口:0~65535,其中0~1024由系统使用或者保留端口,开发中不要 使用1024以下的端口 3.传输协议(用什么样的模式交互) 通讯的规则,常见协议:TCP、UDP URL(统一资源定位) http://ip:80/文件路径 二. OSI七层以及作用应用层七层 七层代表的是:物理层-数据链路层-网络层-传输层-会话层-表示层-应用层 (记法: 物理层是最基层的层次(物理层), 有了物理层我们想要发送数据(数据链路层), 要传输数据就要需要介质也就是网络(网络层), 有了介质后我们就可以传输数据给对方(传输层), 传输完成后就可以发给另一个用户对话(会话层), 有了对话后就需要显示出来(显示层), 显示出来后就可以进行使用了(应用层) ) 七层之间的关系 网络层各节点都有相同的层次 不同节点相同层次具有相同的功能 同一节点相邻层间通过接口通信 每一层可以使用下层提供的服务,并向上层提供服务 不同结点的同等层间通过协议来实现对等层间的通信 三. 七层内容和作用 物理层:主要定义物理设备标准,如网线的接口类型、各种传输介质的传输速率等。主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是常说的数模与模数转换)。这一层的数据叫做比特(bit),主要设备:集线器 数据链路层:主要将从物理层接收的数据进行MAC地址的封装与解封装。常把这一层的数据叫做帧,主要设备:网卡,交换机 网络层:选择合适的网间路由和交换结点, 确保数据及时传送,将从下层接收到的数据进行IP地址的封装与解封装。常把这一层数据叫做数据包,主要设备:路由器。 传输层:定义了一些传输数据的协议和端口,如TCP、UDP协议,主要将从下层接收的数据进行分段和传输,到达目的地址后再进行重组,以往把这一层数据叫做段。 会话层:通过传输层建立数据传输通路。在系统之间发起会话或者接受会话请求(设备之间需要互相认识) 表示层:主要是进行对接收的数据进行解释、压缩与解压缩等,即把计算机能够识别的东西转化成人能够识别的东西(如图片、声音等) 应用层:主要是一些终端的应用,比如说FTP(各种文件下载)、浏览器、QQ等,可以将其理解为在电脑屏幕上可以看到的东西,也就是终端应用。四. TCP/IP参考模型(4层)OSI和TCP/IP的不同每层代表 五.TCP UDP的区别 首先,我们先了解一下各自分别代表的是什么协议 TCP:传输控制协议 UDP:用户数据报协议 两者的区别在于: 1.连接方式 TCP:需要建立连接,形成传输数据的通道 UDP:不需要建立连接,将数据源和目的封装成数据包中 2.数据传输的大小 TCP:数据大小不收限制,在连接中进行大数据传输 UDP:每个数据报的大小限制在64K之内 3.安全性 TCP:通过三次握手完成连接,因此是可靠协议,安全送达 UDP:因为无需连接,因此是不可靠协议 4.效率性 TCP:必须需要建立连接,所以效率稍微会低些 UDP:不需要建立连接,速度快 六.Scoket的解释(网络进程间如何进行通讯) Socket就是为网络服务提供的一种机制 通信的两端都是Socket 网络通信其实就是Socket间的通信 数据在两个Socket间通过IO传输 Socket抽象层是位于应用层和传输层之间的一层 可以只传送数据本身而不用进行XML封装,大大降低数据传输的开销(JSON) Socket允许使用长连接,允许应用程序运行在异步模式(提高效率),只有在需要的时候才接收数据 常用的两种Socket类型 流式Socket(SOCK_STREAM):流式是一种面向连接的Socket,针对于面向连接的TCP服务应用 数据报式Socket(SOCK_DGRAM):数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用 七.如何唯一标识一个进程 本地:通过进程间PID来唯一标识一个进程 网络:TCP/IP协议中的网络层的“IP地址”来唯一标识网络中的主机。 传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。 利用三元组标识(ip地址,协议,端口)就可以标识网络的进程与其他进程的交互八.socket的基本操作(套接字)socket的基本操作socket函数九.socket中TCP- 三次握手建立连接三次握手建立连接 第一次握手: 建立连接。客户端

文档评论(0)

159****0071 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档