




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用MFC进行网络编程
NetworkProgrammingwithMFCProf.Xiao-jieYuan利用MFC进行网络编程
NetworkProgrammin内容提要网络基础知识MFC网络编程Windows套接字CAsyncSocket类TCP协议编程聊天室客户端聊天室服务器端程序功能演示内容提要网络基础知识网络基础知识网络基础知识[//]网络基础知识:对TCP/IP协议进行简要介绍[//]网络基础知识:对TCP/IP协议进行简要介绍TCP/IP协议Windows的网络通信建立在TCP/IP协议的基础上TCP/IP协议族包含一系列构成互联网基础结构的网络协议TCP/IP字面上代表两个重要协议TCP: 传输控制协议IP: 网际协议网络基础知识TCP/IP协议Windows的网络通信建立在TCP/IP协TCP/IP参考模型TCP/IP参考模型包括4层:主机至网络层(Host-to-network)互联层(Internet)传输层(Transport)应用层(Application)网络基础知识TCP/IP参考模型TCP/IP参考模型包括4层:网络基础知TCP/IP模型与OSI模型应用层表示层传输层网络层数据链路层物理层会话层应用层传输层互联层主机至网络层OSITCP/IP网络基础知识TCP/IP模型与OSI模型应用层表示层传输层网络层数据链路几个典型的协议IP协议(互联层)是一个路由协议,负责IP寻址、数据包的分片和重组等任务TCP协议(传输层)提供一对一有连接的通信服务提供连接的确认,数据包发送/接收顺序的控制,出错重传等机制保证数据在传输中的正确性HTTP协议(应用层)用于传送Web网页文件网络基础知识几个典型的协议IP协议(互联层)网络基础知识数据包的封装应用层传输层互联层主机至网络层TCP/IP模型应用程序HTTP协议TCP协议IP协议网卡驱动以太网首部IP首部TCP首部HTTP首部用户数据以太网尾部IP首部TCP首部HTTP首部用户数据TCP首部HTTP首部用户数据HTTP首部用户数据用户数据使用协议封装的数据包网络基础知识数据包的封装应用层传输层互联层主机至网络层TCP/IP模型应MFC网络编程MFC网络编程[//]MFC网络编程:Windows套接字[//]MFC网络编程:Windows套接字什么是套接字套接字是一种网络编程接口英文:socket字面意思:插座、插口可以形象地将套接字理解为应用程序与网络协议之间的插口,也就是编程接口套接字在TCP/IP模型中位于传输层之上主要针对TCP、UDP协议进行抽象不涉及应用层协议Windows套接字什么是套接字套接字是一种网络编程接口Windows套接字主机至网络层以太网令牌环帧中继ATM...互联层IPARPICMPIGMP传输层TCPUDP应用层套接字SocketsWindows套接字主机至网络层以太网令牌环帧中继ATM...互联层IPARPI套接字是网络通信的端点在网络中,主机H1上的一个套接字端点(endpoint)可以和主机H2上的另一个套接字端点进行通信IP地址和端口号可以唯一确定一个套接字Windows套接字套接字是网络通信的端点在网络中,主机H1上的一个套接字端点(Windows套接字套接字的概念最初是由BSDUnix操作系统所实现的Microsoft将Unix套接字中的大部分函数移植到Windows操作系统,形成了Windows套接字Windows套接字针对Windows操作系统的消息驱动机制,对原有的Unix套接字进行了扩展,定义了一部分新的函数Windows套接字Windows套接字套接字的概念最初是由BSDUnix操作在MFC中使用Windows套接字使用MFC提供的Windows套接字功能可以利用面向对象的概念进行网络编程比直接调用Win32API更方便、更直观MFC中与套接字功能有关的类包括:CAsyncSocket类:对套接字API进行了较低级别的封装CSocket类:对套接字API进行了较高级别的封装CSocket类是CAsyncSocket类的派生类Windows套接字在MFC中使用Windows套接字使用MFC提供的Windo套接字类的层次CObjectCAsyncSocketCSocketWindows套接字套接字类的层次CObjectCAsyncSocketCSoc[//]MFC网络编程:CAsyncSocket类[//]MFC网络编程:CAsyncSocket类CAsyncSocket类虽然对WindowsSocketsAPI的封装级别较低但该类为网络通信程序的开发提供了很大的灵活性可以对一些有关网络协议的具体选项参数进行设定CAsyncSocket类CAsyncSocket类虽然对WindowsSocketCAsyncSocket类CAsyncSocket类只将套接字的通知消息改进为C++语言中的可重载的消息处理函数没有像CSocket那样引入文件、文档、串行化等其他额外的概念,这使编程变得更加简洁方便CAsyncSocket类CAsyncSocket类CAsyncSocket类只将套接创建CAsyncSocket类对象CAsyncSocket类对象代表网络通信端点采用两步构造法:1、定义CAsyncSocket类对象变量
CAsyncSocketsock;2、调用Create成员函数进一步创建该对象
sock.Create();CAsyncSocket类创建CAsyncSocket类对象CAsyncSocket类套接字的种类流套接字(streamsocket)使用TCP协议进行通信具有TCP协议所拥有的各种特征面向连接的、可靠的数据流传输服务数据包不会出现丢失、重复、乱序等现象数据报套接字(datagramsocket)使用UDP协议进行通信具有UDP协议所拥有的各种特征面向非连接的、不可靠的用户数据报传输服务数据包可能出现丢失、重复、乱序等现象CAsyncSocket类套接字的种类流套接字(streamsocket)CAsyn指定套接字的种类Create成员函数缺省创建的是流套接字SOCK_STREAM也可以根据需要指明创建数据报套接字SOCK_DGRAM流套接字和数据报套接字在收发数据时所调用的函数有所不同流套接字调用成员函数Send和Receive数据报套接字调用成员函数SendTo和ReceiveFromCAsyncSocket类指定套接字的种类Create成员函数缺省创建的是流套接字SO套接字的工作模式套接字在使用时分为两种模式阻塞式非阻塞式阻塞模式也称为同步模式非阻塞模式也称为异步模式CAsyncSocket类套接字的工作模式套接字在使用时分为两种模式CAsyncSoc阻塞模式在阻塞模式下,套接字函数要一直等到全部操作完成后才返回例如,在建立连接时函数必须等到连接完全建立好为止调用函数的线程在这期间被挂起程序看起来好像停止了响应CAsyncSocket类阻塞模式在阻塞模式下,套接字函数要一直等到全部操作完成后才返阻塞模式的缺点以阻塞模式执行套接字函数,可能会出现某个函数的执行等待很长时间的情况必须考虑建立多个线程来执行每个套接字函数,程序编写起来比较繁琐CAsyncSocket类阻塞模式的缺点以阻塞模式执行套接字函数,可能会出现某个函数的非阻塞模式BSDUnix是命令行方式的系统套接字适合以阻塞模式工作Windows是消息驱动的系统套接字适合以非阻塞模式工作Windows为所有的套接字函数提供了非阻塞模式的版本CAsyncSocket类非阻塞模式BSDUnix是命令行方式的系统CAsyncSo非阻塞模式在非阻塞模式下一个套接字函数被调用后会立即返回即使它执行的操作还没有全部完成当函数最终完成所执行的操作时Windows通过发送消息的方式通知程序该模式适合Windows的消息驱动体系CAsyncSocket类非阻塞模式在非阻塞模式下CAsyncSocket类非阻塞模式Windows套接字接口建议程序员使用非阻塞模式进行网络通信编程一个CAsyncSocket类对象默认地工作在非阻塞模式(即异步模式)下这就是CAsyncSocket(AsyncronizationSocket)这个类名称的来源CAsyncSocket类非阻塞模式Windows套接字接口建议程序员使用非阻塞模式进绑定IP地址和端口号调用Create函数时还可以指定,套接字对象所要绑定的主机IP地址端口号Create函数根据这个IP地址和端口号去调用Bind函数以实现套接字的绑定CAsyncSocket类绑定IP地址和端口号调用Create函数时还可以指定,套接通信前的准备工作客户端调用Connect函数以连接到服务器服务器端调用Listen函数监听客户的进入服务器端调用Accept函数与客户建立连接客户端服务器端1Connect2Listen3AcceptCAsyncSocket类通信前的准备工作客户端调用Connect函数以连接到服务器客收发数据发送数据接收数据流套接字SendReceive数据报套接字SendToReceiveFromCAsyncSocket类收发数据发送数据接收数据流套接字SendReceive数据报处理通知消息CAsyncSocket类对底层Windows套接字API的改进调用AsyncSelect函数指定程序要处理的套接字通知消息实现非阻塞模式套接字的关键在于处理通知消息CAsyncSocket类处理通知消息CAsyncSocket类对底层Windows处理通知消息用于处理通知消息的虚函数OnAccept:当一个连接请求到来时OnConnet:当一个连接尝试完成时OnClose:当另一端套接字关闭时OnReceive:当准备好接收数据时OnSend:当准备好发送数据时CAsyncSocket类处理通知消息用于处理通知消息的虚函数CAsyncSocke套接字句柄CAsyncSocket类有一个成员变量m_hSocket
它代表CAsyncSocket类对象所依附的Windows套接字句柄CAsyncSocket类套接字句柄CAsyncSocket类有一个成员变量CAsy错误处理大多数套接字函数都可能调用失败当某个套接字函数调用失败时返回错误码SOCKET_ERROR紧跟着调用函数GetLastError进一步获得出错原因码通过查表可得到出错原因的描述针对各种异常情况进行不同处理CAsyncSocket类错误处理大多数套接字函数都可能调用失败CAsyncSockeCAsyncSocket类成员列表成员函数描述用于构造CAsyncSocket构造函数Create创建一个套接字CAsyncSocket类CAsyncSocket类成员列表成员函数描述用于构造CAsyncSocket类成员列表成员函数描述
属性Attach
将一个套接字句柄附属于CAsyncSocket对象Detach从CAsyncSocket对象中分离套接字句柄FromHandle给定一个套接字句柄,返回一个指向CAsyncSocket对象的指针GetLastError得到最后一个失败操作的错误情况GetPeerName得到与套接字连接的对等套接字的地址GetSockName得到套接字的本地名称GetSockOpt获取套接字的选项SetSockOpt
设置套接字的选项CAsyncSocket类成员列表成员函数描述属性ACAsyncSocket类成员列表成员函数描述
操作Accept接受套接字上的一个连接AsynSelect设置套接字的通知事件Bind将一个本地地址绑定到套接字上Close关闭套接字Connect与对等套接字建立连接IOCtl控制套接字的方式Listen监听进入的连接请求Receive从套接字接收数据
ReceiveFrom接收一个数据报并且存储源端地址
Send向一个连接的套接字发送数据SendTo向一个指定的地址发送数据ShutDown禁止在套接字上调用函数Send和ReceiveCAsyncSocket类成员列表成员函数描述操作ACAsyncSocket类成员列表成员函数描述
通知消息处理OnAccept通知一个监听套接字,它可以通过调用Accept
函数来接收等待中的连接请求OnClose通知套接字与它连接的另一个套接字已经关闭OnConnect通知一个连接中的套接字,连接的尝试已经完
成,是否成功可以通过错误码进一步判断OnOutOfBandData通知一个正在接收数据的套接字,有“带外数据”
要被读入,这通常是一个紧急的报文OnReceive通知套接字可以通过调用Receive函数来获取
数据OnSend通知套接字可以通过调用Send函数来发送数据成员变量m_hSocket
代表附属于CAsyncSocket对象的SOCKET句柄CAsyncSocket类成员列表成员函数描述通知消息TCP协议编程TCP协议编程客户机/服务器模型客户机是在本地计算机上运行的向服务器请求服务的程序客户机程序是有限的由用户启动,当所需服务完成时就终止客户机程序是通信的主动发起方使用远端计算机的IP地址与在该计算机上运行的特定服务器程序的特定端口号建立通信连接客户机/服务器模型客户机是在本地计算机上运行的向服务器请求服客户机/服务器模型服务器是在远端计算机上运行的向客户提供服务的程序当服务器启动时,将“门”打开使得从客户发出的连接请求可以进来服务器程序是无限的当它启动以后就不停的运行下去,除非出了故障服务器是通信的被动等待方客户机/服务器模型服务器是在远端计算机上运行的向客户提供服务客户机/服务器模型绑定本地IP地址和服务端口
(Create
Bind)监听进入的连接(Listen)接收连接(Accept)收发数据(Send/Receive)创建套接字(Create)服务器端关闭套接字(Close)向服务器发起连接
(Connect)创建套接字(Create)客户端关闭套接字(Close)收发数据(Send/Receive)客户机/服务器模型绑定本地IP地址和服务端口
(Create简单的聊天室程序演示如何利用MFC的CAsyncSocket类进行网络通信编程编写一个简单的聊天室程序使用流套接字进行网络通信是基于TCP协议的包括客户端和服务器端两个部分验证了客户机/服务器模型简单的聊天室程序演示如何利用MFC的CAsyncSocket聊天室客户端聊天室客户端聊天室服务器端聊天室服务器端总结总结利用MFC进行网络编程
NetworkProgrammingwithMFCProf.Xiao-jieYuan利用MFC进行网络编程
NetworkProgrammin内容提要网络基础知识MFC网络编程Windows套接字CAsyncSocket类TCP协议编程聊天室客户端聊天室服务器端程序功能演示内容提要网络基础知识网络基础知识网络基础知识[//]网络基础知识:对TCP/IP协议进行简要介绍[//]网络基础知识:对TCP/IP协议进行简要介绍TCP/IP协议Windows的网络通信建立在TCP/IP协议的基础上TCP/IP协议族包含一系列构成互联网基础结构的网络协议TCP/IP字面上代表两个重要协议TCP: 传输控制协议IP: 网际协议网络基础知识TCP/IP协议Windows的网络通信建立在TCP/IP协TCP/IP参考模型TCP/IP参考模型包括4层:主机至网络层(Host-to-network)互联层(Internet)传输层(Transport)应用层(Application)网络基础知识TCP/IP参考模型TCP/IP参考模型包括4层:网络基础知TCP/IP模型与OSI模型应用层表示层传输层网络层数据链路层物理层会话层应用层传输层互联层主机至网络层OSITCP/IP网络基础知识TCP/IP模型与OSI模型应用层表示层传输层网络层数据链路几个典型的协议IP协议(互联层)是一个路由协议,负责IP寻址、数据包的分片和重组等任务TCP协议(传输层)提供一对一有连接的通信服务提供连接的确认,数据包发送/接收顺序的控制,出错重传等机制保证数据在传输中的正确性HTTP协议(应用层)用于传送Web网页文件网络基础知识几个典型的协议IP协议(互联层)网络基础知识数据包的封装应用层传输层互联层主机至网络层TCP/IP模型应用程序HTTP协议TCP协议IP协议网卡驱动以太网首部IP首部TCP首部HTTP首部用户数据以太网尾部IP首部TCP首部HTTP首部用户数据TCP首部HTTP首部用户数据HTTP首部用户数据用户数据使用协议封装的数据包网络基础知识数据包的封装应用层传输层互联层主机至网络层TCP/IP模型应MFC网络编程MFC网络编程[//]MFC网络编程:Windows套接字[//]MFC网络编程:Windows套接字什么是套接字套接字是一种网络编程接口英文:socket字面意思:插座、插口可以形象地将套接字理解为应用程序与网络协议之间的插口,也就是编程接口套接字在TCP/IP模型中位于传输层之上主要针对TCP、UDP协议进行抽象不涉及应用层协议Windows套接字什么是套接字套接字是一种网络编程接口Windows套接字主机至网络层以太网令牌环帧中继ATM...互联层IPARPICMPIGMP传输层TCPUDP应用层套接字SocketsWindows套接字主机至网络层以太网令牌环帧中继ATM...互联层IPARPI套接字是网络通信的端点在网络中,主机H1上的一个套接字端点(endpoint)可以和主机H2上的另一个套接字端点进行通信IP地址和端口号可以唯一确定一个套接字Windows套接字套接字是网络通信的端点在网络中,主机H1上的一个套接字端点(Windows套接字套接字的概念最初是由BSDUnix操作系统所实现的Microsoft将Unix套接字中的大部分函数移植到Windows操作系统,形成了Windows套接字Windows套接字针对Windows操作系统的消息驱动机制,对原有的Unix套接字进行了扩展,定义了一部分新的函数Windows套接字Windows套接字套接字的概念最初是由BSDUnix操作在MFC中使用Windows套接字使用MFC提供的Windows套接字功能可以利用面向对象的概念进行网络编程比直接调用Win32API更方便、更直观MFC中与套接字功能有关的类包括:CAsyncSocket类:对套接字API进行了较低级别的封装CSocket类:对套接字API进行了较高级别的封装CSocket类是CAsyncSocket类的派生类Windows套接字在MFC中使用Windows套接字使用MFC提供的Windo套接字类的层次CObjectCAsyncSocketCSocketWindows套接字套接字类的层次CObjectCAsyncSocketCSoc[//]MFC网络编程:CAsyncSocket类[//]MFC网络编程:CAsyncSocket类CAsyncSocket类虽然对WindowsSocketsAPI的封装级别较低但该类为网络通信程序的开发提供了很大的灵活性可以对一些有关网络协议的具体选项参数进行设定CAsyncSocket类CAsyncSocket类虽然对WindowsSocketCAsyncSocket类CAsyncSocket类只将套接字的通知消息改进为C++语言中的可重载的消息处理函数没有像CSocket那样引入文件、文档、串行化等其他额外的概念,这使编程变得更加简洁方便CAsyncSocket类CAsyncSocket类CAsyncSocket类只将套接创建CAsyncSocket类对象CAsyncSocket类对象代表网络通信端点采用两步构造法:1、定义CAsyncSocket类对象变量
CAsyncSocketsock;2、调用Create成员函数进一步创建该对象
sock.Create();CAsyncSocket类创建CAsyncSocket类对象CAsyncSocket类套接字的种类流套接字(streamsocket)使用TCP协议进行通信具有TCP协议所拥有的各种特征面向连接的、可靠的数据流传输服务数据包不会出现丢失、重复、乱序等现象数据报套接字(datagramsocket)使用UDP协议进行通信具有UDP协议所拥有的各种特征面向非连接的、不可靠的用户数据报传输服务数据包可能出现丢失、重复、乱序等现象CAsyncSocket类套接字的种类流套接字(streamsocket)CAsyn指定套接字的种类Create成员函数缺省创建的是流套接字SOCK_STREAM也可以根据需要指明创建数据报套接字SOCK_DGRAM流套接字和数据报套接字在收发数据时所调用的函数有所不同流套接字调用成员函数Send和Receive数据报套接字调用成员函数SendTo和ReceiveFromCAsyncSocket类指定套接字的种类Create成员函数缺省创建的是流套接字SO套接字的工作模式套接字在使用时分为两种模式阻塞式非阻塞式阻塞模式也称为同步模式非阻塞模式也称为异步模式CAsyncSocket类套接字的工作模式套接字在使用时分为两种模式CAsyncSoc阻塞模式在阻塞模式下,套接字函数要一直等到全部操作完成后才返回例如,在建立连接时函数必须等到连接完全建立好为止调用函数的线程在这期间被挂起程序看起来好像停止了响应CAsyncSocket类阻塞模式在阻塞模式下,套接字函数要一直等到全部操作完成后才返阻塞模式的缺点以阻塞模式执行套接字函数,可能会出现某个函数的执行等待很长时间的情况必须考虑建立多个线程来执行每个套接字函数,程序编写起来比较繁琐CAsyncSocket类阻塞模式的缺点以阻塞模式执行套接字函数,可能会出现某个函数的非阻塞模式BSDUnix是命令行方式的系统套接字适合以阻塞模式工作Windows是消息驱动的系统套接字适合以非阻塞模式工作Windows为所有的套接字函数提供了非阻塞模式的版本CAsyncSocket类非阻塞模式BSDUnix是命令行方式的系统CAsyncSo非阻塞模式在非阻塞模式下一个套接字函数被调用后会立即返回即使它执行的操作还没有全部完成当函数最终完成所执行的操作时Windows通过发送消息的方式通知程序该模式适合Windows的消息驱动体系CAsyncSocket类非阻塞模式在非阻塞模式下CAsyncSocket类非阻塞模式Windows套接字接口建议程序员使用非阻塞模式进行网络通信编程一个CAsyncSocket类对象默认地工作在非阻塞模式(即异步模式)下这就是CAsyncSocket(AsyncronizationSocket)这个类名称的来源CAsyncSocket类非阻塞模式Windows套接字接口建议程序员使用非阻塞模式进绑定IP地址和端口号调用Create函数时还可以指定,套接字对象所要绑定的主机IP地址端口号Create函数根据这个IP地址和端口号去调用Bind函数以实现套接字的绑定CAsyncSocket类绑定IP地址和端口号调用Create函数时还可以指定,套接通信前的准备工作客户端调用Connect函数以连接到服务器服务器端调用Listen函数监听客户的进入服务器端调用Accept函数与客户建立连接客户端服务器端1Connect2Listen3AcceptCAsyncSocket类通信前的准备工作客户端调用Connect函数以连接到服务器客收发数据发送数据接收数据流套接字SendReceive数据报套接字SendToReceiveFromCAsyncSocket类收发数据发送数据接收数据流套接字SendReceive数据报处理通知消息CAsyncSocket类对底层Windows套接字API的改进调用AsyncSelect函数指定程序要处理的套接字通知消息实现非阻塞模式套接字的关键在于处理通知消息CAsyncSocket类处理通知消息CAsyncSocket类对底层Windows处理通知消息用于处理通知消息的虚函数OnAccept:当一个连接请求到来时OnConnet:当一个连接尝试完成时OnClose:当另一端套接字关闭时OnReceive:当准备好接收数据时OnSend:当准备好发送数据时CAsyncSocket类处理通知消息用于处理通知消息的虚函数CAsyncSocke套接字句柄CAsyncSocket类有一个成员变量m_hSocket
它代表CAsyncSocket类对象所依附的Windows套接字句柄CAsyncSocket类套接字句柄CAsyncSocket类有一个成员变量CAsy错误处理大多数套接字函数都可能调用失败当某个套接字函数调用失败时返回错误码SOCKET_ERROR紧跟着调用函数GetLastError进一步获得出错原因码通过查表可得到出错原因的描述针对各种异常情况进行不同处理CAsyncSocket类错误处理大多数套接字函数都可能调用失败CAsyncSockeCAsyncSocket类成员列表成员函数描述用于构造CAsyncSocket构造函数Create创建一个套接字CAsyncSocket类CAsyncSocket类成员列表成员函数描述用于构造CAsyncSocket类成员列表成员函数描述
属性Attach
将一个套接字句柄附属于CAsyncSocket对象Detach从CAsyncSocket对象中分离套接字句柄FromHandle给定一个套接字句柄,返回一个指向CAsyncSocket对象的指针GetLastError得到最后一个失败操作的错误情况GetPeerName得到与套接字连接的对等套接字的地址GetSockName得到套接字的本地名称GetSockOpt获取套接字的选项SetSockOpt
设置套接字的选项CAsyncSocket类成员列表成员函数描述属性ACAsyncSocket类成员列表成员函数描述
操作Accept接受套接字上的一个连接AsynSelect设置套接字的通知事件Bind将一个本地地址绑定到套接字上Close关闭套接字Conne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山西卫生健康职业学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 2025年宿州职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年安徽黄梅戏艺术职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年安徽机电职业技术学院高职单招(数学)历年真题考点含答案解析
- 2025年安徽商贸职业技术学院高职单招(数学)历年真题考点含答案解析
- 2025年安徽交通职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 肢体肿胀的观察与护理
- DIP知识课件教学课件
- 物业服务接待课件
- 上消化道出血患者个案护理
- 2025-2030中国碳纤维预浸料行业市场现状供需分析及投资评估规划分析研究报告
- 2024年中国机械工业集团有限公司国机集团总部招聘笔试真题
- 2025年长春师范高等专科学校单招职业技能考试题库必考题
- 人工智能对文化产业的创新与发展
- 2025年全屋定制家居市场分析与经营计划
- 电动汽车结构原理与检修课件:慢充系统检修
- 2025年中国旅行车市场调查研究报告
- 专题09 产业区位与产业发展【知识精研】高考地理二轮复习
- 2025年部门预算支出经济分类科目说明表
- 《陆上风电场工程概算定额》NBT 31010-2019
- 湖北省水功能区划
评论
0/150
提交评论