实验讲解1. 套接字ppt课件_第1页
实验讲解1. 套接字ppt课件_第2页
实验讲解1. 套接字ppt课件_第3页
实验讲解1. 套接字ppt课件_第4页
实验讲解1. 套接字ppt课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、page 2实验讲解1套接字接口最初是由加州大学伯克利分校的套接字接口最初是由加州大学伯克利分校的Unix小组开发小组开发, 是网络运用是网络运用程序接口程序接口API。套接字是由传输层提供的运用程序套接字是由传输层提供的运用程序(进程进程)和网络之间的接入点。运用程和网络之间的接入点。运用程序序(进程进程)可以经过套接字访问网络可以经过套接字访问网络.IP地址指定主机地址指定主机, 端口号指定运用程序端口号指定运用程序(进程进程). 套接字利用主机的网络层套接字利用主机的网络层地址和端口号为两个进程建立逻辑衔接。地址和端口号为两个进程建立逻辑衔接。客户机可以经过端口号来访问效力器提供的效力。

2、客户机可以经过端口号来访问效力器提供的效力。套接字可以用于多种协议,包括套接字可以用于多种协议,包括TCP/IP协议。协议。常用端口号:常用端口号: TCP模块模块IP模块模块接口板接口板驱动模块驱动模块驱动接口驱动接口 TCP模块模块IP模块模块接口板接口板驱动模块驱动模块驱动接口驱动接口IP模块模块接口板接口板驱动模块驱动模块驱动接口驱动接口接口板接口板驱动模块驱动模块驱动接口驱动接口路由器路由器传输介质传输介质传输介质传输介质运用程序之间的通讯运用程序之间的通讯IP 层的通讯层的通讯IP 层的通讯层的通讯数据链路层的通讯数据链路层的通讯数据链路层的通讯数据链路层的通讯运用运用1运用运用2

3、运用运用3逻辑信道逻辑信道端口号端口号端口号端口号套接字运用图示套接字运用图示还要给出还要给出IP地址地址page 4实验讲解1 如何利用套接字建立逻辑信道如何利用套接字建立逻辑信道?page 6实验讲解1 客户和效力器任务方式分类客户和效力器任务方式分类page 7实验讲解1建立半衔接,需求明确address中关于主机的部分Backlog恳求队列所允许的长度listen(s,1)表示衔接恳求队列长度为1,即只允许有一个恳求,假设有多个请求,那么出现错误,给出错误代码WSAECONNREFUSED4接受从客户端来的恳求接受从客户端来的恳求. 假设该端口的恳求衔接等待队列非空假设该端口的恳求衔接

4、等待队列非空, 那么从恳那么从恳求衔接等待队列中获得一个衔接恳求求衔接等待队列中获得一个衔接恳求, 假设队列为空,那么阻塞本人假设队列为空,那么阻塞本人. SOCKET accept(SOCKET socket, struct sockaddr * address, int *addr_len) 参数参数: 监听的套接字监听的套接字, 地址地址,地址长度地址长度. 前往前往: 一个新的套接字一个新的套接字(以下成为衔接字以下成为衔接字), 或或INVALID_SOCKET * 参数参数地址地址用来前往一个客户地址用来前往一个客户地址. 假设接受一个衔接恳求,假设接受一个衔接恳求, 该地址中将包

5、括客户的该地址中将包括客户的IP地址和端口号地址和端口号accept()阻塞(缺省)等待恳求队列中的恳求client也是一个sockaddr_in构造,衔接建立时填入恳求衔接的套接口的半相关信息.page 13实验讲解1 recv()函数用于从其他机器接纳数据,这个函数接纳4个参数并前往一个整型值。第1个参数为接纳数据所运用的套接字,也就是MySock;第2个参数为用来存储所接纳数据的字符串;第3个参数表示希望接纳的数据的最大长度,长度应为字符串的长度减1,留下一个字节用于存放终了符;最后一个参数是一个指定函数调用方式的标志。假设运用MSG_PEEK调用这个函数,可以只查看数据而不将数据从缓冲

6、区去除。另一种方式是运用MSG_OOB标志,这个标志用于DECnet协议。该参数最常用的值是0,它将信息移到指定的字符串,并从缓冲区去除。函数的前往值为所接纳数据的长度,假设执行失败,那么会前往0或一个负数。Windows 效力器端流程效力器端流程(循环方式循环方式)WSAStartupsocketbindlistenacceptrecvclosesocketsendWSACleanup* WSAStartup用于加载用于加载WS2_32.DLL page 15实验讲解1 1创建套接字创建套接字 SOCKET socket(int domain, int type, int protocol)

7、 2发出衔接恳求发出衔接恳求 int connect(SOCKET socket, struct sockaddr * address, int addr_len) 参数参数: 套接字套接字, 地址地址, 地址长度地址长度 前往前往: 0(无错无错), 或错误码或错误码 * 调用前调用前, 参数参数地址地址需求给出效力器的需求给出效力器的IP地址和端地址和端口号口号 * 系统自动获得客户端系统自动获得客户端IP地址地址, 并产生一个客户端并产生一个客户端 当前未运用的端口号当前未运用的端口号.3发送和接纳数据发送和接纳数据4封锁此衔接的套接字封锁此衔接的套接字TCP运用程序运用程序IP80效力器效力器 图示图示TCP客户效力器建立衔接的过程客户效力器建立衔接的过程第一步。效力器绑定并监听端口第一步。效力器绑定并监听端口TCP运用程序运用程序IP80效力器效力器(IP1)TCP运用程序运用程序IP2000,80客户端客户端(IP2)80 - 效力器端口号效力器端口号2000 客户端口号客户端口号IP1-

温馨提示

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

评论

0/150

提交评论