- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在后续UDP端口发送数据时,由套接口自动在发送函数中填入服务器地址
TCP/IP Socket网络编程 内容大纲 TCP/IP协议体系结构 Socket编程接口 Windows Socket Linux Socket TCP/IP网络程序框架与示例 Internet与TCP/IP协议 第一节 TCP/IP协议体系结构 TCP/IP协议通信模型 数据的封装与传递过程 一些基本概念 IP地址 端口号 字节序 IP地址 IP地址是Internet中主机的标识 Internet中的主机要与别的机器通信必须具有一个IP地址 一个IP地址为32位(IPV4),或者128位(IPV6) 每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由 特殊的IP地址:广播地址、多播地址 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的整数。 IP地址分级 子网掩码 端口号 为了区分一台主机接收到的数据包应该递交给哪个进程来进行处理,使用端口号 TCP端口号与UDP端口号独立 端口号一般由IANA (Internet Assigned Numbers Authority) 管理 众所周知端口:1~1023,1~255之间为大部分众所周知端口,256~1023端口通常由UNIX占用 注册端口:1024~49151 动态或私有端口:49151~65535 端到端通信数据包投递过程 一个比喻 如果把IP数据包的投递过程看成是给远方的一位朋友寄一封信,那么 IP地址就是这位朋友的所在位置,如湖北宜昌三峡大学电气信息学院(依靠此信息进行路由) 端口号就是这位朋友的名字(依靠这个信息最终把这封信交付给这位收信者) 字节序 大尾端(Big-Endian):字节的高位在内存中放在存储单元的起始位置 小尾端(Little-Endian):与大尾端相反 字节序 网络字节序(NBO,Network Byte Order) 使用统一的字节顺序,避免兼容性问题 主机字节序(HBO,Host Byte Order) 不同的机器HBO是不一样的,这与CPU的设计有关 Motorola 68K系列,HBO与NBO是一致的 Intel X86系列,HBO与NBO不一致 通信过程中:主机字序?网络字序?网络字序?主机字序 Internet与TCP/IP协议 第二节 Socket编程接口 内容 Socket简介 Windows Socket Linux Socket Socket常用函数介绍 TCP/IP网络程序框架与实例 通信方式 阻塞 非阻塞 为什么需要Socket 普通的I/O操作过程 打开文件->读/写操作->关闭文件 TCP/IP协议被集成到操作系统的内核中,引入了新型的“I/O”操作 进行网络操作的两个进程在不同的机器上,如何连接? 网络协议具有多样性,如何进行统一的操作 需要一种通用的网络编程接口:Socket 什么是Socket 独立于具体协议的网络编程接口 在ISO模型中,主要位于会话层和传输层之间 BSD Socket(伯克利套接字)是通过标准的UNIX文件描述符和其它程序通讯的一个方法,目前已经被广泛移植到各个平台。 Socket类型 流式套接字(SOCK_STREAM) 提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。 数据报套接字(SOCK_DGRAM) 提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。 原始套接字(SOCK_RAW) 可以对较低层次协议,如IP、ICMP直接访问。 Socket的位置 两类系统中使用的Socket 不同操作系统中的Socket Windows Socket (Winsock) Linux Socket (BSD Socket) Windows Socket 简称Winsock,是在Windows环境下使用的一套网络编程规范,基于4.3BSD的BSD Socket API制定 1991年Winsock 1.1,16位,由WINSOCK.DLL支持,主要用在Windows 95中 1997年Winsock 2.2 版,32位,由WSOCK32.DLL支持,主要用在Windows 98及以后的版本中 已经成为Windows环境下网络编程的事实标准 三类函数 与BSD Socket相兼容的基本函数 与BSD Socket相兼容的网络信息检索函数 Windows专用扩展函数 Linux Socket 基本上就是BSD Socket 需要使用的头文件 数据类型:#include sys/types.h 函数定义:#include sys/soc
文档评论(0)