




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非1第第9章章 网络通信网络通信Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非2主要内容主要内容9.1网络编程的基础知识9.2 基于TCP协议网络程序设计9.3 基于UDP协议网络程序设计9.4 JApplet编程9.5基于分布模式的云计算系统Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非39.1网络编程的基础知识网络编程的基础知识9.1.1IP地址和端口号地址
2、和端口号9.1.2套接字套接字Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非49.1.1IP地址和端口号地址和端口号1、IP地址地址 网络中的每台计算机都必须有一个惟一的IP地址作为标识,这个数通常写作一组由“.”号分隔的十进制数。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非59.1.1IP地址和端口号地址和端口号在J包中,IP地址由一个称作InetAddress的特殊的类来描述。这个类提供了三个用来获得一个InetAddress类的实例的静态方法。这三个方法是:g
3、etLocalHost( )返回一个本地主机的IP地址。getByName(String host )返回对应于指定主机的IP地址。getAllByName(String host )对于某个主机有多个IP地址(多宿主机)可用于得到一个IP地址数组。此外,对一个InetAddress的实例可以使用:getAddress( )获得一个用字节数组形式表示的IP地址。getHostName( )作反向查询,获得对应于某个IP地址的主机名。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非6【例【例9-1】通过域名查找】通过域名查找IP地址。
4、地址。核心语句:try InetAddress zsm_address; zsm_address =InetAddress.getByName(); str=思维论坛的IP地址为:+zsm_address.toString(); catch(UnknownHostException e) str=无法找到思维论坛; Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非7【例【例9-2】查找本机】查找本机IP地址。地址。 核心语句: try InetAddress host_address; host_address=InetAddres
5、s.getLocalHost(); str=本机的IP地址为:+host_address.toString(); catch(UnknownHostException e) str=本机没有安装网卡,无法找到IP。; Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非89.1.1IP地址和端口号地址和端口号2、端口 我们用“端口号”来标识正在计算机上运行的进程(程序)。每个被发送的网络数据包也都包含有“端口号”,用于将该数据帧交给具有相同端口号的应用程序来处理。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大
6、学出版社哈尔滨工业大学计算机系代亚非99.1.1IP地址和端口号地址和端口号2、端口 端口号是一个整数,其取值范围为065535之间。由于同一台计算机上不能同时运行两个有相同端口号的进程。通常01023间的端口号作为保留端口号,用于一些网络系统服务和应用,用户的普通网络应用程序应该使用1024以后的端口号,从而避免端口号冲突。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非109.1.1IP地址和端口号地址和端口号3、TCP与UDP协议 在网络中,有两个常用的协议,它们是“传输控制协议”(Transmission Control P
7、rotocol,简称TCP)和“用户数据报协议”(User Datagram Protocol,简称:UDP)。 TCP是面向连接的通信协议,TCP提供两台计算机之间的可靠无差错的数据传输。 UDP是无连接通信协议,UDP不保证可靠数据的传输。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非119.1.2套接字套接字1、什么是套接字 在TCP/IP通信协议中,套接字(Socket)就是IP地址与端口号的组合。 如图所示,IP地址193.14.26.7与端口号13组成一个套接字。 Java语言程序设计语言程序设计(第第2版版) 张思
8、张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非129.1.2套接字套接字1、什么是套接字网络通信,准确地说,不能仅说成是两台计算机之间在通信,而是两台计算机上执行的网络应用程序(进程)之间在收发数据。当两个网络程序需要通信时,它们可以通过使用Socket类建立套接字连接。我们把呼叫方称为“客户端”,负责监听的一方称为“服务器端”。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非139.1.2套接字套接字2、客户端建立套接字Socket对象在客户端使用socket类,建立向指定服务器IP和端口号连接的套接字,其构造方法是:
9、 Socket(host_IP, prot); 其中host_IP是服务器的IP地址,prot是一个端口号。Socket主要方法有: getInputStream( ):获得一个输入流,读取从网络线路上传送来的数据信息。 getOutputStream( ):获得一个输出流,用这个输出流将数据信息写入到网络“线路”上。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非149.1.2套接字套接字3、服务器端建立套接字Socket对象 在服务器端用ServerSocket类创建服务器Socket,ServerSocket类的构造方法为:
10、 ServerSocket(int port);创建ServerSocket实例是不需要指定IP地址的,ServerSocket总是处于监听本机端口的状态。ServerSocket类的主要方法: Socket accept(); 该方法用于在服务器端的指定端口监听客户机发起的连接请求,并与之连接,其返回值为Socket对象。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非159.2 基于基于TCP协议网络程序设计协议网络程序设计9.2.1客户机/服务器模式9.2.2同时服务于多个客户的解决方案Java语言程序设计语言程序设计(第第
11、2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非169.2.1客户机客户机/服务器模式服务器模式 利用利用Socket方式进行数据通信与传输,大致有如下步骤:方式进行数据通信与传输,大致有如下步骤:(1)创建服务器端ServerSocket,设置建立连接的端口号。(2)创建客户端Socket对象,设置绑定的主机名称或IP地址,指定连接端口号。(3)客户机Socket发起连接请求。(4)建立连接。(5)取得InputStream和OutputStream。(6)利用InputStream和OutputStream进行数据传输。(7)关闭Socket和ServerSocke
12、t。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非17Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非18【例【例9-3】远程数据通信示例,本例由客户端程】远程数据通信示例,本例由客户端程序和服务器程序两部分组成。序和服务器程序两部分组成。 (1)客户端程序(2)服务器端程序Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非199.2.2同时服务于多个客户的解决方案同时服务于多个客户的解决方案1、启动多个服务
13、程序、启动多个服务程序 我们可以在服务器端启动多个服务程序,等待客户机的连接请求,每个服务程序处理一个客户机数据,它们只是监听的端口号不同。显然,这个方案耗用资源太多。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非209.2.2同时服务于多个客户的解决方案同时服务于多个客户的解决方案2、应用多线程、应用多线程 在服务程序中应用多线程技术,不同的线程为不同的客户服务。主线程负责等待客户机的连接请求,各个线程负责网络连接,接收客户发送来的信息。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工
14、业大学计算机系代亚非21【例9-4】服务程序应用多线程技术同时处理多个客户机的连接请求。 (1)客户端程序 (2)服务器端程序 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非229.3 基于基于UDP协议网络程序设计协议网络程序设计9.3.1基于UDP协议的数据报套接字9.3.2数据报的程序设计过程9.3.3广播数据报套接字Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非239.3.1基于基于UDP协议的数据报套接字协议的数据报套接字 TCP协议通过socket套接字建
15、立一条虚电路。TCP协议的socketserverclientDatagram数据报数据报serverclientUDP数据报的每个数据包要包含目的地址和端口号.Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非24在UDP中,要使用二个类: (1) DatagramSocket 类发送时,用 send( )方法发送数据;接收时,用 receive( )方法接收数据。(2) DatagramPacket 类 用于打包或拆包 发送时打包: 包由数据、接收地址、端口号组成; 接收时拆包: 取出包中的数据、接收地址、端口号。Java语言程序
16、设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非259.3.2数据报的程序设计过程数据报的程序设计过程1、服务器端发出报文的步骤、服务器端发出报文的步骤 (1)定义数据成员。 DatagramSocket socket; DatagramPacket packet; InetAddress address;(用来存放接收方的地址) int port; (用来存放接收方的端口号)(2)创建数据报文Socket对象。 try socket = new DatagramSocket(1111); catch(.SocketException e) soc
17、ket 绑定到一个本地的可用端口,等待接收客户的请求。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非269.3.2数据报的程序设计过程数据报的程序设计过程1、服务器端发出报文的步骤、服务器端发出报文的步骤 (3)分配并填写数据缓冲区(一个字节类型的数组)。 byte Buf = new byte256; 存放从客户端接收的请求信息.(4)创建一个DatagramPacket。 packet = new DatagramPacket(Buf数组, 256字节长度); 用来从socket接收数据,它只有两个参数。(5)服务器阻塞。 s
18、ocket.receive(packet); 在客户的请求报道来之前一直等待。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非279.3.2数据报的程序设计过程数据报的程序设计过程1、服务器端发出报文的步骤、服务器端发出报文的步骤 (6)从到来的包中得到地址和端口号。 InetAddress address = packet.getAddress(); int port = packet.getPort();(7)将数据送入缓冲区。来自文件,或键盘输入。 (8)建立报文包,用来从socket上发送信息。 Packet = new D
19、atagramPacket(buf, buf.length, address, port);(9)发送数据包。socket.send(packet);(10)关闭socket。 socket.close();Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非289.3.2数据报的程序设计过程数据报的程序设计过程2、客户端接收包的步骤、客户端接收包的步骤 (1)定义数据成员。 int port; InetAddress address; DatagramSocket socket; DatagramPacket packet; byte
20、 sendBuf = new byte256;(2)建立socket。 socket = new DatagramSocket();(3)向服务器发出请求报文。 address = InetAddress.getByName(args0); port = parseInt(args1); packet = new DatagramPacket(sendBuf, 256, address, port); socket.send(packet);Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非299.3.2数据报的程序设计过程数据报的程
21、序设计过程2、客户端接收包的步骤、客户端接收包的步骤 (4)客户机等待应答。 packet = new DatagramPacket(sendBuf, 256); socket.receive(packet);(如果没有到就一直等待,因此程序要设置时间限度) (5)处理接收到的数据。 String received = new String(packet.getData(), 0, packet.getLength(); System.out.println(received); Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非30
22、数据报工作过程建立数据报建立数据报socket();建立一个报文包建立一个报文包packet等待请求报文等待请求报文建立数据报建立数据报socket建立一个请求包建立一个请求包发出请求发出请求获得对方地址获得对方地址构成信息包构成信息包发送出去发送出去创建接收包创建接收包等待接收等待接收Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非31【例【例9-59-5】一个简单的数据报示例。】一个简单的数据报示例。(1)主机1(数据发送方):(2)主机2(数据接收方):Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大
23、学出版社哈尔滨工业大学计算机系代亚非329.3.3广播数据报套接字广播数据报套接字 我们把网络上的IP地址划分为A、B、C、D四类,它们是:A类地址为:0.0.0.0127.255.255.255B类地址为:128.0.0.0191.255.255.255C类地址为:192.0.0.0223.255.255.255D类地址为:224.0.0.0239.255.255.255广播数据报套接字就是利用网络系统保留的D类地址进行发送和接收数据。一个D类地址称为一个广播组,把要广播或接收广播的主机都加入到同一个广播组中,即设置为相同的D类IP地址。Java语言程序设计语言程序设计(第第2版版) 张思张
24、思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非339.3.3广播数据报套接字广播数据报套接字在java中,广播数据报套接字为MulticastSocket类实现,MulticastSocket 是UDP协议 套接字DatagramSocket的子类 ,其构造方法为:(1)MulticastSocket() 创建多播套接字。 (2)MulticastSocket(int port) 创建多播套接字并将其绑定到指定端口。 MulticastSocket类的常用方法:(1)void joinGroup(InetAddress mcastaddr) 加入多播组。 (2)void setTim
25、eToLive(int ttl) 设置在此 MulticastSocket 上发出的多播数据包的默认生存时间,以便控制多播的范围。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非34【例【例9-69-6】一个广播数据报套接字的演示示例。】一个广播数据报套接字的演示示例。在这个例子中,一个主机不断地重复播发图像文件,加入到同一组的主机可以随时接收广播的数据内容。接收方接收信息后,将接收到的信息在窗体中显示出来。 (a)信息发送方播发信息(b)显示接收到的信息内容(图像文件)Java语言程序设计语言程序设计(第第2版版) 张思张思民编
26、著民编著清华大学出版社哈尔滨工业大学计算机系代亚非359.4 JApplet编程编程9.4.1 JApplet及常用方法及常用方法9.4.2 JApplet应用示例应用示例Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非369.4.1 JApplet及常用方法及常用方法JApplet是一个能够嵌入到HTML页面中并在浏览器中运行的Java程序。当使用浏览器对一个包含JApplet的Web页面进行浏览时,浏览器将从Web服务器下载JApplet程序到本地执行。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大
27、学出版社哈尔滨工业大学计算机系代亚非379.4.1 JApplet及常用方法及常用方法1、JApplet的主要特性的主要特性JApplet类是一个很特殊的容器,它Applet的子类,Applet是从Java的抽象窗口工具集类库(awt)中的Panel类扩展而来的,它将继承Panel的所有属性。因此,JApplet类具有容器的特性,在其内部可以放置swing组件。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非389.4.1 JApplet及常用方法及常用方法2、JApplet的常用方法的常用方法方法名功能JApplet()JApp
28、let的构造方法void init() 由浏览器调用,完成初始化。void start()由浏览器调用,开始applet运行。void stop() 由浏览器调用,终止applet执行。void destroy()由浏览器调用,回收分配给applet的资源void play(URL url)播放在URL指定的音频剪辑。AudioClip getAudioClip(URL url)返回 URL 参数指定的 AudioClip 对象。Image getImage(URL url) 返回能被绘制到屏幕上的 Image 对象。URL getDocumentBase()返回文档的URL路径void se
29、tJMenuBar(JMenuBar menuBar)设置JApplet的菜单栏。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非399.4.1 JApplet及常用方法及常用方法3、JApplet程序的一般形式程序的一般形式 一个JApplet程序必须是JApplet的子类,它必须是public的。JApplet程序的一般形式为:import javax.JApplet.*;public 类名类名 extends JApplet public void init(); public void start(); public voi
30、d stop(); public void destroy(); Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非409.4.1 JApplet及常用方法及常用方法4、JApplet程序的运行程序的运行为了执行Applet,必须在HTML文档中使用特殊的标记,即标记来调用Applet。例如: Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非419.4.2 JApplet应用示例应用示例 【例【例9-7】在浏览器中运行】在浏览器中运行JApplet程序。程序。1. impo
31、rt javax.swing.*;2. public class Example9_7 extends JApplet3. 4. public void init() 5. 6. JButton btn = new JButton(确定确定);7. add(btn);8. 9. 编译这个源程序,得到一个Example9_7.class字节码文件。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非42使用记事本之类的文本编辑工具,编写一个HTML文件如下:将这个超文本文件保存为e9_7.html,并且与Example9_7.class在
32、同一文件目录下。现在使用浏览器打开文件e9_7.html就可看到JApplet程序的运行结果。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非43【例【例9-8】用用getImage()方法和方法和drawImage()方方法加载和显示图像。法加载和显示图像。 核心语句:9. public void init() 10. img = getImage(getDocumentBase(), getParameter(img); 11. 12.13. public void paint(Graphics g) 14. g.drawIm
33、age(img, 0, 0, this); 15. Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非44【例【例9-99-9】在】在JAppletJApplet程序中使用程序中使用play()play()方法播放方法播放声音文件。声音文件。可以使用JApplet的静态方法编写播放.wav等格式的音频文件的程序。1.import java.swing.*;2.import java.awt.Graphics;3.public class Example9_9 extends JApplet 4. public void paint(G
34、raphics g) 5. g.drawString(Listen to the music!, 25, 25);6. play(getDocumentBase(), 茉莉花.wav);7. 8.Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非45【例【例9-109-10】使用】使用getAudioClip()getAudioClip()方法播放声音文件。方法播放声音文件。用getAudioClip()方法建立的AudioClip对象可以处理声音:play()开始播放;loop()循环播放;stop() 停止播放。Java语言程序设
35、计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非469.5基于分布模式的云计算系统基于分布模式的云计算系统9.5.1分布模式的云计算分布模式的云计算9.5.2简易云计算系统设计简易云计算系统设计Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非479.5.1分布模式的云计算分布模式的云计算在传统的客户/服务环境中,一般有一个功能强大的计算机作为服务器为多个客户提供服务,下面将讨论一种以客户端为核心、多个服务器为其提供服务的计算模式。这种客户/服务器方式的云计算非常适合分布式系统模型下实现,该
36、模型可以分为3个角色:管理节点、子节点和客户端。管理节点和子节点构成了云计算的服务器端,客户端通过对API的调用实现对云计算系统的访问,并通过API整合为不同的应用程序。Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非489.5.1分布模式的云计算分布模式的云计算在这种分布模型下,一个并行应用很容易使用这种客户/服务器模式来设计:一个客户可以将一个大的应用分成若干小的问题,这些小的问题可以由多个服务器程序(子节点)同时处理,所以服务器程序对相应问题求得解答后,再发送给客户机。客户机汇集所有从服务器程序发来的结果,然后再输出给用户。J
37、ava语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非499.5.1分布模式的云计算分布模式的云计算在具体实现这个模型的过程中,要将多个可用服务器(子节点)和它们的Internet域名保存在一个node.txt文件中,这个文件称为子节点配置文件,由客户程序存取它。客户机同时还要读取另一个文件root.txt,称为用户配置文件,它包括用户定义的应用参数。子节点配置文件node.txt和用户配置文件root.txt构成管理节点。 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非509.5.1分布模式的云计算分布模式的云计算基于分布模式的云计算系统 Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非519.5.2简易云计算系统设计简易云计算系统设计 下面设计一个简易云计算系统,该系统实现由多台服务器共同完成n 阶矩阵的乘法运算任务。1、系统结构、系统结构Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出版社哈尔滨工业大学计算机系代亚非52Java语言程序设计语言程序设计(第第2版版) 张思张思民编著民编著清华大学出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 诗词中考语文作文
- 私募股权投资光伏产业投资策略考核试卷
- 畜产品加工设备智能化升级与技术应用考核试卷
- 升国旗初二语文作文
- 滑动轴承加工工艺与技术考核试卷
- 文具批发商的市场营销策略实施考核试卷
- 纺织品在汽车座椅加热与通风技术的应用考核试卷
- 石棉废弃物处理与回收利用考核试卷
- 港口机械维护与故障排除考核试卷
- 白酒的市场份额与市场扩张计划考核试卷
- 《陪诊从业人员能力培训标准》
- 《氢气输送管道工程设计规范》
- 管网工程施工重难点分析及对应措施
- 2024ESC心房颤动管理指南解读-完整版
- 砂石场生产线承包合同
- DB51T 2943-2022 四川省一体化政务服务平台系统接入规范
- 飞机空气动力学课件:翼型的空气动力特性
- 《地方铁路运输企业安全生产标准化建设规范》
- 农业科技的智能灌溉
- 森林防火护林员聘用合同
- 人教版中职数学拓展模块一:6.1.1复数的相关概念课件
评论
0/150
提交评论