网络软件设计1——套接字概述解析.ppt

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

* 套接字与端点 5.2 建立关系的方法 bind(s, sock_addr); 又称显示绑定 还有隐式绑定 利用某些套接字调用来建立映射关系 * 6、服务方式 6.1 TCP/IP的传输层服务 TCP:面相连接的可靠协议 UDP:面向无连接协议 6.2 指明服务类型的方法 在申请socket时,指定服务类型 s = socket(int af, , int protocol); int type type: SOCK_STREAM SOCK_DGRAM SOCK_RAW 面向连接 TCP 面向无连接UDP 原始服务 服务方式 例:s=socket(AF_INET,SOCK_DGRAM,0); * 6.3 服务方式对软件设计的影响 1) 字节流服务与数据报服务 2) 流程不同 3) 使用的socket调用不同,参数不同 4) 可靠性不同 对象不同 套接字端点 过程不同 环境不同 结果不同 段景山 * 标识即为索引 端点:端口+IP地址 为什么要创建新的套接字? 好像客户机不用bind函数也可以实现通信。 网络软件设计 套接字基本原理 制作 主讲 段景山 * 网络软件类型 Socket BSD sockets--基于C Windows sockets 1.0/2.0 MFC Csocket类 其它语言环境 JAVA C++,Boost库,asio C# 与网络通信有关的 Asp--动态网页制作 Restful,WebService 数据库 * 套接字服务的基本原理 套接字、端口、服务方式 编写简单的通信程序 内容 * 套接字编程的基本原理 1、引入 1.1 网络通信是一个复杂的过程 功能的层次性 协议的多样性 “套接字”(socket)提供给用户需要的通信服务 ? 应用层 表示层 会晤层 传输层 网络层 数据连路层 物理层 应用层 表示层 会晤层 传输层 网络层 数据连路层 物理层 网络层 数据连路层 物理层 通 信 介 质 传输层协议 会晤层协议 表示层协议 应用层协议 端系统A 端系统B 中继系统 通 信 介 质 * 引入 1.1 网络通信是一个复杂的过程 功能的层次性 协议的多样性 应用的多样性 LAN IP TCP UDP SMTP FTP T P TELNET D N S S N M P WAN ICMP ARP * 引入 1.2 用户需要的服务 不喜欢复杂 不过也不喜欢太简单 1.2.1简单的服务 不关心通信系统的细节 不关心中介节点的参与 直接面向源和目的的服务 用户需要怎样的通信服务? 端到端的通信服务 分布式的环境,用户甚至无需知道数据在本地或远方 * 引入 1.2.2用户希望有足够的选择和控制 服务类型 可靠(但复杂)与不可靠(但简单) 服务方式 阻塞(死等)与非阻塞(并行) 特殊处理 带外数据、原始套接字、源路由控制…… 差错控制 报错、检错、恢复 至少先要知道是否出错、出了什么错,然后进行恢复。 * 套接字的位置和作用 “套接字”(socket)提供给用户需要的通信服务 2.1 套接字的位置 直接面向用户 用户?进程?端到端(end to end) 传输层之上 2.2 套接字的作用 端到端简单的通信服务 较多的套接字服务选择 * 套接字的位置和作用 2.2.1 端到端通信服务 套接字的使用过程中 不涉及低层协议细节 不涉及中介节点 socket,就如同墙上的插口一样方便 * 套接字的位置和作用 2.2.2 较多的选择 服务类型 面向连接:SOCK_STREAM TCP 无连接 :SOCK_DGRAM UDP 服务方式 阻塞 :FIONBIO 非阻塞: 特殊处理 带外数据:FD_OOB 原始数据服务:SOCK_RAW 检错 差错定义:error.h 得到差错类型:WSAGetLastError() * 套接字(socket) 3、套接字 是一个标识 是一种结构 是服务访问点(数据+服务) 3.1套接字变量(套接字描述符) SOCKET s; 获得一个套接字类型变量,可通过它得到通信服务 SOCKET s1,s2; 代表两个不同的通信--标识作用 SOCKET类型就是整型 是一个起标识作用的数值 * 套接字(socket) 3.2套接字的操作 以套接字为标识,通信服务都是围绕套接字进行的 例:一个简单的通信流程,通过调试观察 SOCKET s; s = socket(。。。) send(s,。。。); recv(s,。。。); ioctlsocket(s,。。。); setsockopt(s,。。。); 获得套接字资源 发送数据 接收数据 控制套接字工作参数 * 端口、端点 4、端口、端点(end point) 4.1

文档评论(0)

4477704 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档