《套接口概念》PPT课件.ppt_第1页
《套接口概念》PPT课件.ppt_第2页
《套接口概念》PPT课件.ppt_第3页
《套接口概念》PPT课件.ppt_第4页
《套接口概念》PPT课件.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章套接字介面概念,套接字介面简介域和地址群集地址转换函数利用套接字介面通信,2.1集介面简介(1),网络之间的进程通信:独立环境:每个进程的进程号(PID),唯一标识网络环境。与协议、地址和端口相关的通信端口:进程通过系统调用和端口建立连接后,通信端口操作类似于常规I/O操作,可以作为读写原语访问,通信端口编号类似于文件描述符通信端口编号。徐璐其他协议(如TCP和UDP)可以具有相同的通信端口编号,而不会发生冲突。地址:网络地址、主机地址、进程id(通信端口编号)、整个网络之间的进程通信的3字节(协议、本机地址、本机通信端口编号)或5字节id(协议、本机地址、本机通信端口编号、远程主机、远

2、程通信端口编号)网络字节顺序:按客户程序向服务程序发送请求,服务程序接收和处理客户程序的请求,处理后将结果返回给客户。服务流程通常在客户请求之前开始。牙齿两个进程经常通过网络连接徐璐连接到其他系统,进程间通信使用网络编程。套接字:应用程序调用编程接口来实现网络编程。套接字可以在传输层、网络层和数据链路层上编程。2.1集介面简介(3),使用套接字使用插座,套接字和插座模拟,2.1集介面简介(4),套接字类型网络套接字(网络地址);数据报套接字SOCK_DGRAM:基于UDP协议。原始套接字SOCK_RAM:可以直接访问较低层协议,如IP、ICMP等。本地套接字:套接字技术允许徐璐执行其他主机的进

3、程间通信,单个主机的进程间通信(IPC)也可以使用套接字技术将远程客户/服务器程序迁移到单个主机。使用套接字使用文件描述符文件描述符2.1集介面简介(5)是与打开的档案相关(实际档案、网络连接、管道、终端等)关联的整数。套接字使用UNIX文件描述符和其他进程进行系统调用通信。您需要一组专用函数,它们操作Socket()以返回文件描述符connect()、accept()等连接send()、recv()、read()、close()。AF_INET域使用的数据结构(地址系列)通用套接字介面地址(仅限型号)sockaddr网络(IPv4)套接字介面地址(AF_INET域)sockaddr_in,A

4、F导入套接字使用的数据结构(IPv4)/*网络地址群集,AF _ INET */char sa _ data 14;/*目标地址和通信端口信息*/;通用套接字地址映射,sin_zero8,IPv4套接字地址映射,sa_data14,2.2域和地址群集(2),(2)通过sockaddr_in的网际协议群集地址结构/* AF _/*IP地址,网络字节顺序*/unsigned char sin _ zero 8;/*使用bzero()或memset()将所有0、*/;注:指向sockaddr_in的指针和指向sockaddr的指针可以徐璐互换使用。(3)32位IPv4地址结构in _ addr st

5、ruct in _ addr unsigned long s _ addr;2.2域和地址群集(3),说明:牙齿书或系统内定义这些数据结构时,定义了很多宏常数或新类型名称,使用时需要逐渐识别。例如:sockaddr_in、sockaddr和in_addr结构分别定义如下:typedef uint16 _ t in _ port _ ttypedef unsigned short sa _ family _ t;struct sock addr _ in sa _ family _ t sin _ family;In _ port _ t sin _ portStruct in _ addr s

6、in _ addrUnsigned char sin _ zero8struct sock addr sa _ family _ t sa _ family;Char sa _ data14。2.2域和地址群集(4),typed ef uint 32 _ t in _ addr _ t struct in _ addr union struct uint 8 _ t S _ B1Struct uint16_t s_w1、s _ w2_ S _ un _ w;In _ addr _ t _ S _ addr_ S _ un#define s_addr _S_un。_ S _ addr# defi

7、ne s _ host _ s _ un。_ s _ un _ b.s _ B2#define s_net _S_un。_ S _ un _ b.s _ b1#define s_imp _S_un。_ S _ w.s _ w2# define s _ impno _ s _ un。_ s _ un _ b.s _ B4#define s_lh _S_un。_ S _ un _ b.s _ b3,2.3地址转换函数(1),字节顺序转换(网络字节顺序)主机字节顺序:数据存储在主机上的顺序、CPU类型和操作系统相关(例如16位整数7存储方法:网络字节顺序:数据在网络上的传输顺序,高级协议,因此通常需

8、要转换。InterX86系列筹码低上方,Sun的Sparc筹码Solaris系统高上方,2.3地址转换函数(2),转换函数:(h:主机主机主机,N:网络网络)函数htons():htons,2.3地址转换函数(3),初始化AF_INET地址struct sockaddr _ in adr _ inet/定义变量adr _ inet int adr _ lenmesset(,2.3地址转换函数(4),网络IP地址网络地址主机地址网络掩码示例3360 IP地址3360 202.113.29.19网络分类:c类网络网络地址3360 202.113.29.0主机地址: * * *。* * * *。19网络掩码: 255 . 255 . 255 . 255 . 0广播地址3360 202.113.29.255,2.3地址转换函数(5),IP地址处理包括arpa/inet.h、netinet/in.h、sys/socket注意:您不需要呼叫htonl(),因为(1) inet_addr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论