




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 UDP協(xié)議進(jìn)行通信服務(wù)器端1、UDP程序?qū)嵗幕臼褂们闆r和使用方法q已IPC-PTCloud-PTServer-PTclientnetworkServer調(diào)用C:WindowsSystem32cmd2輸入命令cmd2JudpcJ主冃主冃D127.0.0:5050釀is加鷲嚴(yán)C:U5ersAdministratorDesktopTCF端:5050teeruer已啟動(dòng)peceiue*helpJ3、客戶機(jī)方可以輸入C:WindowsSystem32下可執(zhí)行的命令女口:help、arp、routeprint、quit等從鍵盤上輸入的字符原封不動(dòng)的發(fā)送給服務(wù)器程序后,在服務(wù)器程序中則執(zhí)行該字符串相對(duì)
2、應(yīng)的命令,并將執(zhí)行結(jié)果發(fā)送給客戶機(jī)程序。2、程序的執(zhí)行實(shí)例和流程圖在這個(gè)實(shí)例中服務(wù)器的IP為白蘭蘭的IP(125.219.181.97)在客戶機(jī)端輸入routeprint命令,則顯示服務(wù)器的路由尋址表如下(不全)UDProuteprint.00flf3SaeacfRealtekPCIeGBEFamilyController1SoftwareLoopbackInterface1.00000000000000e0MicrosoftISATAPAdaptep.00000000000000e0MicrosoftTeredoTunnelingAdapter.00000000000000e0Microso
3、ft6to4AdapterIPv4路由表wit網(wǎng)絡(luò)掩碼0.0.0.0125.219.180.0125.219.181.134125.219.181.255127.0.0.0127.0.0.1127.255.255.255224.0.0.0224.0.0.0255.255.255.255255.255.255.255網(wǎng)關(guān)Q.Q.Q.Q125255.255.254.0255.255.255.255255.255.255.255255.0-0.0255.255.255.255255.255.255.255240.0.0.0240.0.0.0255.255.255.255255.255.255.255
4、二25鏈鏈鏈鏈鏈鏈鏈鏈鏈鏈護(hù)在在在在在在在在在在1躍點(diǎn)數(shù)125.219.181.13420125.219.181.134276125.219.181.134276125.219.181.134276 HYPERLINK l bookmark22127.0.0.1306127.0.0.1306127.0.0.1306127.0.0.1306125.219.181.134276127.0.0.1306125.219.181.134276永久路由:無(wú)泌路由表服務(wù)器端的信息謫糊!.LA.脈甘犁而師LI:尋EFUEF已啟動(dòng)peceiueJrouteprint如果輸入help后沒有任何反應(yīng),請(qǐng)確認(rèn)udpc
5、程序所指定的IP地址是否正確。若正確,再確認(rèn)一下該IP地址的主機(jī)udps是否啟動(dòng);再確認(rèn)這些以后,如果執(zhí)行udpc程序仍沒有任何顯示,那么請(qǐng)使用ping命令來(lái)檢查通信是否能夠進(jìn)行,因?yàn)閁DP協(xié)議屬于無(wú)連接型通信,所以即使發(fā)生錯(cuò)誤,也很難知道。如果輸入的命令一直是正確的,則只顯示第一個(gè)命令,其余的都隱藏了。直到輸入錯(cuò)誤時(shí),服務(wù)器端才有錯(cuò)誤提示,如:!.!DProute爾輸?shù)溴e(cuò)誤的命彰!DPdata爾輸?shù)溴e(cuò)誤的兪劉VDPdaterouteDELETE3ffe::z32-飜尿鑽貳部或外部命也不是可運(yùn)行的程序3、處理流程無(wú)論是服務(wù)器端還是和客戶端,首先都要初始化套接口環(huán)境再創(chuàng)建一個(gè)套接口,利用bind
6、()系統(tǒng)調(diào)用來(lái)綁定端口號(hào)和IP,只有這樣才能使用UDP協(xié)議發(fā)送和接收一個(gè)包,但時(shí)至次計(jì)算機(jī)網(wǎng)絡(luò)中還沒有傳輸任何一個(gè)包。對(duì)于客戶機(jī)而言,如果從鍵盤上輸入命令,在客戶機(jī)上執(zhí)行sendto()系統(tǒng)調(diào)用,向服務(wù)器發(fā)送包,那么在發(fā)送包之后,客戶機(jī)則執(zhí)行recvfrom()系統(tǒng)調(diào)用,等待從服務(wù)器返回的報(bào)文。如果服務(wù)器收到從客戶機(jī)發(fā)來(lái)的報(bào)文,則調(diào)用execute()和chulicom()函數(shù)。實(shí)質(zhì)是調(diào)用C:WindowsSystem32中的可執(zhí)行程序。若存在該命令則給予客戶機(jī)響應(yīng),若不存在輸出:您輸入錯(cuò)誤的命令。若命令不完整,服務(wù)器給出提示。這些操作反復(fù)進(jìn)行,如果在客戶機(jī)上輸入字符串quit,則程序運(yùn)行結(jié)束
7、。UDPquitPressanykeytocontinue在使用UDP協(xié)議時(shí),即使客戶機(jī)程序運(yùn)行結(jié)束,也不講這個(gè)事實(shí)傳遞給服務(wù)器。UDP協(xié)議進(jìn)行的通信的基本模式,只是傳遞命令的請(qǐng)求包和應(yīng)答包,并不傳輸其他包,因此通信方式簡(jiǎn)單??蛻魴C(jī)的處理服務(wù)器的處理開始開始包包4所輸入的字符串服務(wù)器循環(huán)接收?qǐng)?bào)文Recvfrom()對(duì)接收到的消息進(jìn)行處理Chulicom();execute()發(fā)送命令的執(zhí)行結(jié)果Sendto();服務(wù)器循環(huán)客戶機(jī)循環(huán),盤上輸入,當(dāng)不是EOF的時(shí)候反復(fù)進(jìn)行其他“quit”將接收到的報(bào)文在屏幕上輸出創(chuàng)建一個(gè)套接口socket()Ip地址和端口綁定Bind()Ip地址和端口綁定Bind
8、()創(chuàng)建一個(gè)套接口socket()接發(fā)送命令recvfoomO設(shè)置端口號(hào) 客戶機(jī)循環(huán)關(guān)閉該套接口Closesocket()1r關(guān)閉該套接口Closesocket()4、UDP服務(wù)器源程序及說(shuō)明#include#include#include#include#pragmacomment(lib,ws2_32.lib)#defineBUFSIZE65500enumCMD_NAME,DST_PORT;intexecute(char*command,char*buf,intbufmax);voidchulicom(char*buff,char*send_buf);voidmain(intargc,ch
9、ar*argv)structsockaddr_inserver;structsockaddr_inclient;charrecv_bufBUFSIZE;charsend_bufBUFSIZE;intresize;memset(recv_buf,0,sizeof(recv_buf);memset(send_buf,0,sizeof(send_buf);charif_;SOCKETsk;intserverport=12345;if(argc=1)/如果雙擊打開程序printf(是否使用默認(rèn)端口:(y/n):);AAA:if_=getchar();if(if_=n)printf(請(qǐng)輸入服務(wù)器端端口:
10、);scanf(%d,&serverport);elseif(if_=y)/默認(rèn)端口elsefflush(stdin);printf(輸入錯(cuò)誤:請(qǐng)重新輸入。n);gotoAAA;WSADATAwsaData;if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)return;/*使用UDP協(xié)議打開一個(gè)套接字*/if(sk=socket(AF_INET,SOCK_DGRAM,0)0)perror(socket);exit(1);/*設(shè)置服務(wù)器地址*/memset(char*)&server,0,sizeof(server);server.sin_family=AF_I
11、NET;server.sin_addr.s_addr=htonl(INADDR_ANY);/INADDR_ANY用于對(duì)主機(jī)賦予允許連接全部IP地址的情況,若要限制所接收的IP地址,不是將它指定為INADDR_ANY,而是指定一個(gè)特定的IPserver.sin_port=htons(serverport);if(bind(sk,(structsockaddr*)&server,sizeof(server)=0)printf(receive%sn,recv_buf);/*接收到的命令處理*/memset(send_buf,0,sizeof(send_buf);/在往發(fā)送緩沖去里面放消息時(shí)。先清空c
12、hulicom(recv_buf,send_buf);/根據(jù)接收到的命令決定發(fā)送的內(nèi)容if(send_buf0=0)/當(dāng)命令錯(cuò)誤時(shí),在可執(zhí)行程序中檢索不到不執(zhí)行,發(fā)送緩沖區(qū)里面沒內(nèi)容strcpy(send_buf,你輸入錯(cuò)誤的命令!”);if(sendto(sk,send_buf,sizeof(send_buf)+1,0,(structsockaddr*)&client,sizeof(SOCKADDR)0)break;printf(%sn,send_buf);closesocket(sk);voidchulicom(char*buff,char*send_buf)charcmd1100,cmd
13、250;intcn;strcpy(cmd2,buff);strcpy(cmd1,C:WindowsSystem32);strcat(cmd1,cmd2);/cmd1當(dāng)前可執(zhí)行程序的位置execute(cmd2,send_buf,BUFSIZE);intexecute(char*command,char*buf,intbufmax)/執(zhí)行命令,將執(zhí)行結(jié)果存儲(chǔ)在緩沖區(qū)中,先讓可執(zhí)行文件執(zhí)行,將結(jié)果放在temp.txt里面然后再放入緩沖區(qū)發(fā)出去FILE*fp;inti;freopen(temp.txt,w,stdout);/把標(biāo)準(zhǔn)的輸出流存放到temp.txt文件里面system(command);
14、/執(zhí)行命令,輸出來(lái)的信息被存放在temp.txtif(fp=fopen(temp.txt,r)=NULL)命令錯(cuò)誤,temp.txt里面沒內(nèi)容perror(command);/輸出錯(cuò)誤原因exit(EXIT_FAILURE);i=0;charch;while(ch=fgetc(fp)!=EOF&ibufmax)bufi+=ch;打開temp.txt文件,然后讀里面的字符串寫到緩沖區(qū)內(nèi)fclose(fp);returni;另外,在UDP協(xié)議發(fā)送一個(gè)報(bào)文時(shí),還具有一些特殊的性質(zhì)。這就是在發(fā)送時(shí),使用sendto()發(fā)送的字節(jié)數(shù)比recvfrom()所指定的緩沖區(qū)的字節(jié)數(shù)多的話。報(bào)文字節(jié)數(shù)超出部分將
15、被截?cái)喽鴣G失。這樣在數(shù)據(jù)報(bào)類型UDP協(xié)議中,與數(shù)據(jù)到達(dá)的可靠性相比,人們更重視數(shù)據(jù)報(bào)的性能指標(biāo)。4、UDP客戶機(jī)源程序#include#include#include#include#include#pragmacomment(lib,ws2_32.lib)#defineBUFSIZE65500#defineDEFAULT_PORT5320enumCMD_NAME,DST_IP,DST_PROT;voidmain(intargc,char*argv)structsockaddr_inserver;/服務(wù)器地址structsockaddr_inclient;/客戶機(jī)地址(自己的)structso
16、ckaddr_intempS;/客戶機(jī)地址(自己的)structhostent*he;/主機(jī)信息charrecv_bufBUFSIZE;/接受緩沖區(qū)charsend_bufBUFSIZE;/發(fā)送緩沖區(qū)charservername50;charserverport10;charserverip50;SOCKETsk;intport;inttem;intzero;if(argc=1)printf(請(qǐng)輸入服務(wù)器端IP:);scanf(%s,serverip);printf(請(qǐng)輸入服務(wù)器端端口:);scanf(%s,serverport);elsestrcpy(serverip,argv1);strc
17、py(serverport,argv2);/檢索服務(wù)器端口號(hào)sscanf(serverport,%d,&port);/從一個(gè)字符串中讀進(jìn)與指定格式相符的數(shù)據(jù).成功則返回參數(shù)數(shù)目,失敗則返回0,錯(cuò)誤原因存于errno中。if(tem=atoi(serverport)=0)structservent*se;/服務(wù)信息if(se=getservbyname(serverport,UDP)!=NULL)tem=(int)ntohs(u_short)se-s_port);elsefprintf(stderr,gethostbynameerror);exit(EXIT_FAILURE);WSADATAws
18、aData;if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)return;if(sk=socket(AF_INET,SOCK_DGRAM,0)0)perror(socket);exit(EXIT_FAILURE);/設(shè)定客戶機(jī)地址memset(char*)&client,0,sizeof(client);client.sin_family=AF_INET;client.sin_addr.s_addr=htonl(INADDR_ANY);client.sin_port=htons(0);if(bind(sk,(structsockaddr*)&client,si
19、zeof(client);getchar();fflush(stdout);/fflush(stdout),使stdout清空,就會(huì)立刻輸出所有在緩沖區(qū)的內(nèi)容。while(scanf(%65500An,send_buf)!=EOF)memset(recv_buf,0,sizeof(recv_buf);charcmd50;sscanf(send_buf,%s,cmd);if(strcmp(cmd,quit)=0)break;if(sendto(sk,send_buf,strlen(send_buf)+1,0,(structsockaddr*)&server,sizeof(SOCKADDR)0)b
20、reak;/處理來(lái)自服務(wù)器的應(yīng)答報(bào)文if(tem=recvfrom(sk,recv_buf,BUFSIZE-1,0,(structsockaddr*)&tempS,&zero);fflush(stdout);getchar();closesocket(sk);UDP協(xié)議進(jìn)行通信客戶端一、udp進(jìn)行通信的原理UDP通信:UDP是面向無(wú)連接的服務(wù),特點(diǎn)就是,用這種協(xié)議傳輸數(shù)據(jù)速度快。使用這種協(xié)議追求的是傳輸?shù)募磿r(shí)性而不是傳輸?shù)馁|(zhì)量。在實(shí)際應(yīng)用中比如,QQ聊天的語(yǔ)聊,視頻,還有網(wǎng)絡(luò)電話使用的就是UDP協(xié)議,還有就是迅雷等一些下載工具用的也是UDP協(xié)議。本系統(tǒng)由服務(wù)器程序udps和客戶及程序udpc兩
21、個(gè)程序組成,如果從客戶機(jī)輸入一個(gè)特定命令,并將這個(gè)命令發(fā)送到udps中去處理,其執(zhí)行結(jié)果將在客戶機(jī)的屏幕上顯示出來(lái)。客戶機(jī)源程序主要完成了下面的處理功能:將從鍵盤輸入端字符發(fā)送到一臺(tái)服務(wù)器中,將來(lái)自服務(wù)器的應(yīng)答報(bào)文在屏幕上顯示出來(lái)。二、設(shè)計(jì)思想及流程Udp通信的一般模式: # #針對(duì)本系統(tǒng),實(shí)現(xiàn)流程如下:客戶機(jī)的處理服務(wù)器的處理 Atoi():將字符串轉(zhuǎn)換成一個(gè)整數(shù)值getservbyname():返回與給定服務(wù)名對(duì)應(yīng)的包含名字和服務(wù)號(hào)信息的servent結(jié)構(gòu)指針WSAStarup():是WindowsSocKNDsAsynchronous的啟動(dòng)命令、Windows下的網(wǎng)絡(luò)編程接口軟件Wins
22、ockl或Winsock2里面的一個(gè)命令。Memset():將s所指向的某一塊內(nèi)存中的每個(gè)字節(jié)的內(nèi)容全部設(shè)置為ch指定的ASCII值,塊的大小由第三個(gè)參數(shù)指定,這個(gè)函數(shù)通常為新申請(qǐng)的內(nèi)存做初始化工作,其返回值為指向S的指針。recvfrom():用來(lái)接收遠(yuǎn)程主機(jī)經(jīng)指定的socket傳來(lái)的數(shù)據(jù),并把數(shù)據(jù)傳到由參數(shù)buf指向的內(nèi)存空間。Closesocket():關(guān)閉套接字四、操作步驟,及系統(tǒng)所實(shí)現(xiàn)的具體功能介紹:4、若服務(wù)器和客戶極端在同一臺(tái)電腦上執(zhí)行,則輸入ip為127.0.0.1對(duì)于服務(wù)器端口可以選擇默認(rèn)的,也可以任意指定(默認(rèn)端口為12345)用默認(rèn)端口:5、若服務(wù)器端和客戶端未在同一臺(tái)電
23、腦上,則輸入服務(wù)器所在電腦上的ipC:U5ersAdrministratorDesktopTCf6、啟動(dòng)服務(wù)器后,可在client端輸入命令,查詢服務(wù)器的相關(guān)信 盤檢查XDEL辦IRi)ISKCOMP攵件和子目錄,copyDATEJDPhelp有關(guān)某個(gè)命令的堂砒言息,請(qǐng),ASSOCATTRIBpREfiKGDEDITCflCLSCALLCCHOPCHDIR?HKDSKCHKNTFSCLSCMDCOLORCOMPCOMPACTCONUERTHELP命:令名署名關(guān)聯(lián):性以控制啟動(dòng)加載。匚控制列S將其最:命令須u理序窗口。顏色J轉(zhuǎn)換成NTFSr:Wl顯或更改AD?再I工口展式.CTL+C檢査。設(shè)直后
24、政坡1冃際屏帚1巳打丑另個(gè)Uindous謹(jǐn)iw靄顯不取更改NTFS.;將f(h笛前驅(qū)巡P將至i?-文件復(fù)制到另一個(gè)位置。昱示或戡晝-ruii.K此時(shí)在服務(wù)器端顯示客戶機(jī)端輸入的命令又如: UDProuteprint宮口頑.00flf30aeacfRealtekPCIeGBEFamilyContpollep1SoftuareLoopbackInterface1.00000000000000e0MicrosoftISAIAPAdapter.00000000000000e0MicrosoftTeredoTunnelingAdapter.00000000000000e0Microsoft6to4Ada
25、pterIPv4路由表SO網(wǎng)絡(luò)掩碼0.0.0.0125.219.180.0125.219.181.134125.219.181.255127.0.0.0127.0.0.1127.255.255.255224.0.0.0224.0.0.0255.255.255.255255.255.255.255網(wǎng)關(guān)0.0.0.0125.219255.255.254.0255.255.255.255255.255.255.255255.0.0.0255.255.255.255255.255.255.255240.0.0.0240.0.0.0255.255.255.255255.255.255.255鏈鏈鏈鏈鏈鏈
26、鏈鏈gn在在在在在在在在在在1.181.13420.219.181.134276.219.181.134276.219.181.134276127.0.0.1306127.0.0.1306127.0.0.1306127.0.0.1306.219.181.134276127.0.0.1306.219.181.134276 #永久路由:無(wú)IPu6路由表 # 3、還可以輸入其他命令驗(yàn)證:客戶機(jī)方可以輸入C:WindowsSystem32下可執(zhí)行的命令女口:ipconfig、routeprint、arp等eceiue*route1口作網(wǎng)絡(luò)路由表。OUTE-fp-4!6commanddestinatio
27、nMASKnetmaskgatEwaylMETRICmetricIFinterface-P-t.-蘇曜幕霽某曙wi他路擊更苴第頸不嚎V.S蕭忽相。嘗。響項(xiàng)觸導(dǎo)由鑿否引壘2此與在g不重新啟動(dòng)系統(tǒng)時(shí),95 # #-4強(qiáng)制使用IP蟲。-6強(qiáng)制使用IPM。commanddestinationMASKnetnaskgatewayinterfaceMETRIC參項(xiàng),按,.ipconfig值。-255255號(hào)名粽都可以在主機(jī)名稱或DELETE鞭己符, UindousIP酉己置6DU的IdK-定臨碼天囂土掩網(wǎng)賣U4網(wǎng)認(rèn)連本IP子默以太網(wǎng)適配器本地連接:fe80:8cl0:1134:607a:f41bxl212
28、5.219.181.134255.255.254.0125.219.181.254媒體已斷開隧道適配器isatap.:定的DNS后綴隧道適配器本地連接共8:2001:0:4137:9e76:3068:3699:8224:fe80:3068:3699:8224:4a79xll7、但注意,如果輸入的命令一直是正確的,則只顯示第一個(gè)命令其余的都隱藏了。直到輸入錯(cuò)誤時(shí),服務(wù)器端才有錯(cuò)誤提示,如:r.3DProute祕(mì)輸入錯(cuò)誤的命縈!rjDPdata祈輸入錯(cuò)誤的兪彰dateroutEDELETE3ffe::z32諾膽苑養(yǎng)頁(yè)尹部或外部命令:;也不是可運(yùn)行的程序是否使用駆訃端口:config撤輸入錯(cuò)誤的命令
29、!UDP是否使用毬坐端口:35receiveJipconfigJonfig不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。8、輸入quit,則退出系統(tǒng)UDPquitPressanykeytocontinue五、心的體會(huì):本次試驗(yàn),我掌握了基本的socket編程,了解了tcp編程和udp編程的流程和它們之間的區(qū)別。尤其學(xué)會(huì)了基于udp的通信。這次雖然我做的只是客戶端,但是同時(shí)也學(xué)到了服務(wù)器端的編程,可謂收獲頗多。當(dāng)然,這期間我也遇到了很多問(wèn)題,比如對(duì)程序中用到的函數(shù)不太理解,以及編程的大致思路把握不準(zhǔn)確,不過(guò)通過(guò)老師的PPT課件,又在網(wǎng)上查了一些知識(shí),最重要的是在同學(xué)的幫助下,這些問(wèn)題都得到
30、了很好的解決。六、附源代碼/client端#include#include#include#include#include#pragmacomment(lib,ws2_32.lib)#defineBUFSIZE65500#defineDEFAULT_PORT5320enumCMD_NAME,DST_IP,DST_PROT;voidmain(intargc,char*argv)structsockaddr_inserver;/服務(wù)器地址structsockaddr_inclient;/客戶機(jī)地址(自己的)structsockaddr_intempS;/客戶機(jī)地址(自己的)structhosten
31、t*he;/主機(jī)信息charrecv_bufBUFSIZE;/接受緩沖區(qū)charsend_bufBUFSIZE;/發(fā)送緩沖區(qū)charservername50;charserverport10;charserverip50;SOCKETsk;intport;inttem;intzero;if(argc=1)printf(請(qǐng)輸入服務(wù)器端IP:);scanf(%s,serverip);printf(請(qǐng)輸入服務(wù)器端端口:”);scanf(%s,serverport);elsestrcpy(serverip,argv1);strcpy(serverport,argv2);/檢索服務(wù)器端口號(hào)sscanf(
32、serverport,%d,&port);if(tem=atoi(serverport)=0)structservent*se;/服務(wù)信息if(se=getservbyname(serverport,UDP)!=NULL)tem=(int)ntohs(u_short)se-s_port);elsefprintf(stderr,gethostbynameerror);exit(EXIT_FAILURE);WSADATAwsaData;if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)return;if(sk=socket(AF_INET,SOCK_DGRAM,0)
33、0)perror(socket);exit(EXIT_FAILURE);/設(shè)定客戶機(jī)地址memset(char*)&client,0,sizeof(client);client.sin_family=AF_INET;client.sin_addr.s_addr=htonl(INADDR_ANY);client.sin_port=htons(0);if(bind(sk,(structsockaddr*)&client,sizeof(client);getchar();fflush(stdout);while(scanf(%65500人n,send_buf)!=EOF)memset(recv_bu
34、f,0,sizeof(recv_buf);sockaddrsockaddrcharcmd50;sscanf(send_buf,%s,cmd);if(strcmp(cmd,quit)=0)break;if(sendto(sk,send_buf,strlen(send_buf)+1,0,(struct*)&server,sizeof(SOCKADDR)0)break;/處理來(lái)自服務(wù)器的應(yīng)答報(bào)文if(tem=recvfrom(sk,recv_buf,BUFSIZE-1,0,(struct*)&tempS,&zero);fflush(stdout);getchar();closesocket(sk);
35、/server端#include#include#include#include#pragmacomment(lib,ws2_32.lib)#defineBUFSIZE65500enumCMD_NAME,DST_PORT;intexecute(char*command,char*buf,intbufmax);voidchulicom(char*buff,char*send_buf);voidmain(intargc,char*argv)structsockaddr_inserver;structsockaddr_inclient;charrecv_bufBUFSIZE;charsend_bufBUFSIZE;intresize;memset(recv_buf,0,sizeof(recv_buf);memset(send_buf,0,sizeof(send_buf);charif_;SOCKETsk;intserverport=12345;if(argc=1)/?p
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 3761.33-2021新型冠狀病毒肺炎疫情防控技術(shù)規(guī)范第33部分:港口口岸
- DB32/T 3661-2019冷鮮鴨肉生制品加工技術(shù)規(guī)程
- DB32/T 3494-2019灌漿復(fù)合瀝青路面施工技術(shù)規(guī)范
- DB32/T 1321.1-2019危險(xiǎn)化學(xué)品重大危險(xiǎn)源安全監(jiān)測(cè)預(yù)警系統(tǒng)建設(shè)規(guī)范第1部分:通則
- 【正版授權(quán)】 ISO 20816-21:2025 EN Mechanical vibration - Measurement and evaluation of machine vibration - Part 21: Horizontal axis wind turbines
- DB31/T 751-2013大型游樂場(chǎng)所防雷技術(shù)規(guī)范
- DB31/T 1390-2022動(dòng)物診療機(jī)構(gòu)犬只狂犬病免疫點(diǎn)建設(shè)規(guī)范
- DB31/T 1144-2019乙烯產(chǎn)品碳排放指標(biāo)
- DB31/T 1006-2016桁桿拖網(wǎng)漁船技術(shù)要求
- DB31/T 1003-2016H7N9亞型流感病毒熒光RT-PCR檢測(cè)方法
- 拘留所教育課件01
- 2022年六一兒童節(jié)ppt演講課件
- 2022年兗州煤業(yè)榆林能化有限公司招聘筆試試題及答案解析
- 國(guó)家開放大學(xué)《財(cái)務(wù)管理#》形考任務(wù)1-4參考答案
- 醫(yī)院檢驗(yàn)科冰箱溫度登記表
- 常見異常心電圖識(shí)別及處理課件
- 重慶交通大學(xué)-黃璇-答辯通用PPT模板
- 中國(guó)醫(yī)院質(zhì)量安全管理 第4-13部分:醫(yī)療管理住院患者健康教育 T∕CHAS 10-4-13-2020
- 新滬教牛津版七年級(jí)上冊(cè)英語(yǔ)全冊(cè)教案
- 《航空專業(yè)英語(yǔ)》課件維修專業(yè)基礎(chǔ)英語(yǔ)R1
- 【課件】第17課實(shí)驗(yàn)與多元——20世紀(jì)以來(lái)的西方美術(shù)課件高中美術(shù)人教版(2019)美術(shù)鑒賞
評(píng)論
0/150
提交評(píng)論