- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络应用软件编程技术 第02章-Socket编程
第2章 套接字编程基础知识 套接字编程的概念 Windows套接字编程 网络编程模式分析 网络协议的概念 网络协议(Network Protocol)是为进行网络中的数据通信,而建立的规则、标准或约定 语法:用户数据与控制信息的结构 语义:控制信息完成的动作与响应 时序:动作实现顺序的说明 网络协议的组织方式是层次结构,常见的结构模型主要是OSI模型与TCP/IP模型 客户机/服务器的概念 在计算机网络环境中,计算机之间通信采用分布式进程通信 客户机/服务器(Client/Server)模式 客户机通过临时端口向服务器发送请求 服务器通过熟知端口向客户机提供服务 套接字的概念 套接字(Socket)是一种使应用程序可以访问通信协议的系统调用 流式套接字(SOCK_STREAM):提供面向连接、可靠的数据传输服务 数据报套接字(SOCK_DGRAM):提供无连接的、不可靠的数据传输服务 原始套接字(SOCK_RAW):提供对网络层协议(例如IP、ICMP与IGMP等)的访问 Winsock的概念 Winsock是Windows操作系统中的套接字 Winsock函数提供基本的套接字功能 Winsock以动态链接库形式实现,包括2个版本:Winsock1.1与Winsock2.0 Winsock提供2种模式:阻塞模式与非阻塞模式 Winsock函数(1) Winsock初始化与卸载 WSAStartup():Winsock初始化 WSACleanup():Winsock卸载 Winsock函数(2) Winsock基本函数 socket():创建套接字 closesocket():关闭套接字 bind():套接字与本地地址绑定 listen():侦听端口的连接请求 connect():请求与服务器建立连接 accept():用于接收客户机的连接请求 send()与sendto():发送数据 recv()与recvfrom():接收数据 Winsock函数(3) 地址转换函数 inet_addr( ):将点分十进制的IP地址转换为in_addr结构的地址 inet_ntoa( ):将in_addr结构的地址转换为点分十进制的IP地址 Winsock函数(4) 字节序转换函数 htonl():将无符号长整型数从主机字节序转换为网络字节序 ntohl():将无符号长整型数从网络字节序转换为主机字节序 htons():将无符号短整型数从主机字节序转换为网络字节序 ntohs():将无符号短整型数从网络字节序转换为主机字节序 Winsock函数(5) 主机信息获取函数 gethostname():获取主机名 gethostbyname():获取主机地址 Winsock函数(6) 套接字处理函数 ioctlsocket():控制套接字的操作模式 getsockopt():获得套接字的选项 setsockopt():设置套接字的选项 Winsock函数(7) GetLastError()函数 如果Socket函数返回SOCKET_ERROR,说明该函数在处理过程中出现错误 通过调用GetLastError()函数,获得与该错误对应的错误类型码 Winsock函数(8) Winsock 2.0新增函数 WSACloseEvent():释放一个事件对象 WSACreateEvent():创建一个事件对象 WSADuplicateSocket():创建一个共享套接字 WSAEnumNetworkEvents():检查网络事件发生 WSAEnumProtocols():获得可用的协议信息 WSAEventSelect():将网络事件与事件关联 Winsock函数(9) Winsock 2.0新增函数 WSAGetOverlappedResu():获得重叠操作状态 WSARecvDisconnect():终止套接字的接收操作 WSAResetEvent():重新初始化一个事件对象 WSASendDisconnect():终止套接字的发送操作 WSASetEvent():设置一个事件对象 WSAWaitForMultipleEvents():阻塞多个事件 TCP编程模式(1) 有连接模式 SOCK_STREAM 客户机 connect() 服务器 bind() listen() accept() TCP编程模式(2) 并发服务器方案 UDP编程模式(1) 无连接模式 SOCK_DGRAM 客户机 服务器 bind() UDP编程模式(2) 重复服务器方案
您可能关注的文档
- 西点演示文稿.ppt
- 西班牙语学习教材.doc
- 西溪谷沿山步行道(上).ppt
- 西沙介绍1.doc
- 西点学校.ppt.ppt
- 西安火车站货运站调研报告.ppt
- 西郊钢结构安全施工方案_job2299.doc
- 西部大开发作业.doc
- 西门子PLC地铁排水控制系统毕业设计设计优秀95分.doc
- 西邮通原课件第6章数字基带传输.ppt
- 职业技术学院2024级工业机器人技术(安装与维护)专业人才培养方案.docx
- 职业技术学院2024级应用化工技术专业人才培养方案.pdf
- 职业技术学院2024级软件技术(前端开发)专业人才培养方案.pdf
- 职业技术学院2024软件技术专业人才培养方案.docx
- 职业技术学院2024级信息安全技术应用(安全运维)专业人才培养方案.docx
- 职业技术学院2024级新能源汽车检测与维修技术(车辆鉴定与评估)专业人才培养方案.pdf
- 职业技术学院2024级石油炼制技术专业人才培养方案.pdf
- 职业技术学院2024级环境监测技术专业人才培养方案.docx
- 职业技术学院2024级汽车制造与试验技术专业人才培养方案.pdf
- 职业技术学院2024级信息安全技术应用专业人才培养方案.pdf
文档评论(0)