




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、page 2实验讲解1套接字接口最初是由加州大学伯克利分校的套接字接口最初是由加州大学伯克利分校的unix小组开发小组开发, 是网络应用是网络应用程序接口(程序接口(api)。)。套接字是由传输层提供的应用程序套接字是由传输层提供的应用程序(进程进程)和网络之间的接入点。应用程和网络之间的接入点。应用程序序(进程进程)可以通过套接字访问网络可以通过套接字访问网络.ip地址指定主机地址指定主机, 端口号指定应用程序端口号指定应用程序(进程进程). 套接字利用主机的网络层套接字利用主机的网络层地址和端口号为两个进程建立逻辑连接。地址和端口号为两个进程建立逻辑连接。客户机可以通过端口号来访问客户机可
2、以通过端口号来访问服务器提供的服务。服务器提供的服务。套接字可以用于多种协议,包括套接字可以用于多种协议,包括tcp/ip协议。协议。常用端口号:常用端口号: tcp模块模块ip模块模块接口板接口板驱动模块驱动模块驱动接口驱动接口 tcp模块模块ip模块模块接口板接口板驱动模块驱动模块驱动接口驱动接口ip模块模块接口板接口板驱动模块驱动模块驱动接口驱动接口接口板接口板驱动模块驱动模块驱动接口驱动接口路由器路由器传输介质传输介质传输介质传输介质应用程序之间的通信应用程序之间的通信ip 层的通信层的通信ip 层的通信层的通信数据链路层的通信数据链路层的通信数据链路层的通信数据链路层的通信应用应用1
3、应用应用2应用应用3逻辑信道逻辑信道端口号端口号端口号端口号套接字使用图示套接字使用图示还要给出还要给出ip地址地址page 4实验讲解1 如何利用套接字建立逻辑信道如何利用套接字建立逻辑信道?page 6实验讲解1 客户和服务器工作模式分类客户和服务器工作模式分类page 7实验讲解1socket 建立半连接,需要明确address中关于主机的部分backlog请求队列所允许的长度listen(s,1)表示连接请求队列长度为1,即只允许有一个请求,若有多个请求,则出现错误,给出错误代码wsaeconnrefused(4)接受从客户端来的请求)接受从客户端来的请求. 若该端口的请求连接等待队列
4、非空若该端口的请求连接等待队列非空, 则从请求连则从请求连接等待队列中获得一个连接请求接等待队列中获得一个连接请求, 若队列为空,则阻塞自己若队列为空,则阻塞自己. accept(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(int domain, int type, int protocol) (2)发出连接请求)发出连接请
7、求 int connect(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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全用药题库及答案护理
- (正式版)DB65∕T 4303.8-2020 《杏机械化加工设备 第8部分:杏核破壳机 作业质量》
- (正式版)DB65∕T 4280-2019 《电子证照 共享接口参数规范》
- 2025年智慧税务答辩题库及答案
- 2025年华工社工复试真题及答案
- 2025年健康管理师基础考试题库附答案
- 2025年保安员理论考试题库及答案
- 社媒内容过滤技术-洞察及研究
- 能源消耗数据融合技术-洞察及研究
- 模仿生物结构纤维开发-洞察及研究
- 2022年冀教版七年级上册数学第一次月考试卷
- 《气管支架临床应用》课件
- 导数的应用-函数的零点问题(5题型分类)-2025年高考数学一轮复习(解析版)
- 8·12天津滨海新区爆炸事故调查报告分析及反思
- 第十中学八年级上学期语文10月月考试卷(含答案)
- 2024新指南:中国阿尔茨海默病早期预防指南解读课件
- 江苏省南京市联合体2024-2025学年八年级上学期期中考试语文试题含答案
- 有限责任干股持有者分红权利具体合同版
- 与爱人相约的协议书(2篇)
- 山东版离婚协议书模板
- 2023年全国职业院校技能大赛-老年护理与保健赛项规程
评论
0/150
提交评论