版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)報(bào)告課程名稱:LINUX程序設(shè)計(jì)學(xué)院:計(jì)算機(jī)學(xué)院專業(yè):計(jì)算機(jī)14班級(jí):4班姓名:高宇學(xué)號(hào):年月日山東科技大學(xué)教務(wù)處制實(shí)驗(yàn)報(bào)告組別姓名高宇同組實(shí)驗(yàn)者實(shí)驗(yàn)項(xiàng)目名稱實(shí)驗(yàn)一熟悉Linux命令實(shí)驗(yàn)日期第11周周四3,4節(jié)教師評(píng)語實(shí)驗(yàn)成績指導(dǎo)教師一、實(shí)驗(yàn)?zāi)康恼莆蘸蛯W(xué)習(xí)Linux的基本命令二、實(shí)驗(yàn)內(nèi)容和步驟(1)登錄ubuntu界面打來shell終端可以通過快捷鍵Ctrl+Alt+T打開(2)在終端是輸入pwd顯示當(dāng)前工作目錄,通過使用ls命令來查看當(dāng)前目錄下的內(nèi)容,此外可分別測試-a,-l,-F,-A,-lF燈選項(xiàng)。實(shí)驗(yàn)截圖如下:(3)在當(dāng)前目錄下新建一個(gè)目錄test,然后將工作目錄切換到test目錄下,并將/etc目錄下的文件passwd拷貝到該目錄下。完成后查看當(dāng)前目錄下的passwd文件的屬性和文件的權(quán)限。實(shí)驗(yàn)截圖如下:(4)嘗試向當(dāng)前目錄下的passwd文件和/etc/passwd文件寫入一些數(shù)據(jù),查看是否能成功寫入。可通過echo字符串”>>文件的命令實(shí)現(xiàn)。用cat命令瀏覽文件passwd的內(nèi)容,用more命令進(jìn)行瀏覽翻頁操作,再用less命令瀏覽文件內(nèi)容。實(shí)驗(yàn)截圖如下:(5)用ls查看test目錄下的文件的權(quán)限,用mv命令更改passwd文件名為test.txt,并測試chown和chgrp更改文件屬性為root組,并嘗試用chomd將文件權(quán)限更改為"-rw------二實(shí)驗(yàn)截圖:(6)用rm命令刪除test目錄下的所有文件,再用rmdir命令刪除test目錄。?(想一想有沒有一條命令將目錄及目錄下的所有文件刪除,寫出這條命令)(7)使用ps命令查看當(dāng)前系統(tǒng)內(nèi)的進(jìn)程,并利用 man命令獲取ps命令的參數(shù),寫出獲取當(dāng)前終端進(jìn)程執(zhí)行情況的ps命令(8)使用df命令查看當(dāng)前系統(tǒng)已安裝的文件系統(tǒng)的空間使用情況,記錄結(jié)果。(9)使用du命令查看用戶的工作目錄占用了多少空間,記錄結(jié)果。(10)使用free命令查看內(nèi)存資源的使用情況,記錄結(jié)果。(11)使用man獲取tar和gzip的幫助信息,嘗試將test目錄下的文件打包并壓縮,然后到另外一目錄tmp下解包,寫出這幾條命令。(12)執(zhí)行“l(fā)s-l>tmp",查看這條命令的執(zhí)行會(huì)出現(xiàn)什么結(jié)果。解釋:將lsl輸出的結(jié)果輸出重定向到temp文件中。(13)嘗試執(zhí)行find/usr/src-name*c-print|xargsgrep"#include”,看看這條命令的執(zhí)行會(huì)出現(xiàn)什么結(jié)果,解釋一下這條命令。解釋:匹配查找列表輸出/usr/src下的.c結(jié)尾的文件中含有"#include”的內(nèi)容。(14)執(zhí)行cal和date命令,說說這兩條指令的用途。 cal:輸出當(dāng)前日歷,date:輸出當(dāng)前的時(shí)間。(15)執(zhí)行命令clear和logout,退出系統(tǒng)。(想一想有沒有其他的方法,寫出這種方法)還可以用命令:exit(16)執(zhí)行命令shutdown,關(guān)閉系統(tǒng)。(想一想有沒有更簡單的命令,寫出這條命令)還可以用命令:init0三、實(shí)驗(yàn)結(jié)論通過本次實(shí)驗(yàn)我對(duì)linux一些基本操作有了認(rèn)識(shí),初步認(rèn)識(shí)的linux系統(tǒng)的運(yùn)行環(huán)境等。初步認(rèn)識(shí)的一些linux下的基礎(chǔ)命令。實(shí)驗(yàn)報(bào)告組別姓名同組實(shí)驗(yàn)者實(shí)驗(yàn)項(xiàng)目名稱實(shí)驗(yàn)二Shell編程實(shí)驗(yàn)日期第12周周四3,4節(jié)教師評(píng)語實(shí)驗(yàn)成績指導(dǎo)教師.實(shí)驗(yàn)?zāi)康?1)學(xué)習(xí)和掌握vi編輯器的基本使用方法(2)學(xué)習(xí)和掌握編寫簡單的shell程序.實(shí)驗(yàn)內(nèi)容和步驟vi的使用(1)以root用戶身份登錄進(jìn)入Linux系統(tǒng)(2)啟動(dòng)vi,切換到輸入模式,輸入一段英文:Ohmygod!NomatterwhathappenedI'llstaywithyou!Today,tomorrow(3)嘗試匹配其中的一串字符,寫出這命令及執(zhí)行結(jié)果。(4)嘗試替換其中的一串字符,寫出這命令及執(zhí)行結(jié)果(5)嘗試復(fù)制/刪除其中的一行或幾行文本,寫出命令及執(zhí)行結(jié)果。(6)嘗試復(fù)制/刪除其中的一個(gè)單詞或幾個(gè)字符,寫出命令及執(zhí)行結(jié)果。(7)嘗試使用鼠標(biāo)復(fù)制文本,寫出命令及執(zhí)行結(jié)果。(8)嘗試存盤退出操作,寫出命令。可以用的命令:wq或:x簡單的shell程序(1)使用Vi將程序清單2-1的程序輸入。(2)嘗試運(yùn)行該程序,如果不能運(yùn)行,原因是什么,怎樣修改。(3)執(zhí)行程序,寫出程序的執(zhí)行結(jié)果。(4)閱讀程序,掌握shell函數(shù)的編寫方法,補(bǔ)全函數(shù)file_run。foriin'ls'doiftest-x$i;thenecho$ifidone(5)修改程序中的函數(shù)uers(),使得顯示在線用戶時(shí)不分行。(提示:可以使用循環(huán),對(duì)每個(gè)在線用戶分別處理。Echo“thereare'who|Wcusersonline”foriin “whoarewho|awk'{print$1}”doecho-n$iecho-ndone.實(shí)驗(yàn)總結(jié)通過本次實(shí)驗(yàn)對(duì)linux下的文件編輯器vi有初步了解,掌握了基本使用方法,此外初識(shí)shell編程,對(duì)腳本文件有所認(rèn)識(shí)。.程序清單MYDATE='date+%d/%m/%y'THIS_HOST='hostname-s'USER='whoami'file_run(){.echo"youmustcompleteit”}uers(){echo”thereare'who|wc-l'usersonline"echo-e"whoare\n'who|awk'{print$1}'、}while:dotputclearcat<<aaaUser:$USERHost:$THIS_HOST Date:$MYDATE1:Listsubdirectoryincurrentdirectory2:Lisfilesincurrentdirectorywhichcanrun3:SeewhoisonthesystemH:HelpscreenQ:ExitMenuaaaecho-e-n"\tYourChoice[1,2,3,H,Q]>"readCHOICEcase$CHOICEin1)ls-l|awk'/Ad/{print$8}';;2)file_run;;3)uers;;H|h)catvvaaaThisisthehelpscreen,nothinghereyettohelpyou!aaaQ|q)exit0;;*)echo-e"\t\007unkownuserresponse”;;esacecho-e-n”\n\n\tHitthereturnkeytocontinue”readDUMMYdone實(shí)驗(yàn)報(bào)告組別姓名高宇同組實(shí)驗(yàn)者實(shí)驗(yàn)項(xiàng)目名稱實(shí)驗(yàn)二義件操作實(shí)驗(yàn)日期第13周周四3,4節(jié)教師評(píng)語實(shí)驗(yàn)成績指導(dǎo)教師1、實(shí)驗(yàn)?zāi)康模?1)學(xué)習(xí)和掌握gcc等Linux的開發(fā)調(diào)試環(huán)境。(2)學(xué)習(xí)并掌握Linux的文件操作。(3)編寫并實(shí)現(xiàn)實(shí)驗(yàn)步驟6要求的程序。2、實(shí)驗(yàn)內(nèi)容和步驟(1)使用Vi將程序清單3-1和3-2的程序輸入,并在當(dāng)前目錄下創(chuàng)建文件“file.in”和文件“file.out:盡可能的使文件“file.in”大一些。(2)利用gcc分別編譯這兩個(gè)程序,寫出編譯命令和執(zhí)行結(jié)果,如果不成功,嘗試?yán)?gdb調(diào)試。Gccolist3_1list3_1.cGccolist3_2list3_2.c(3)仔細(xì)觀察這兩個(gè)程序,比較標(biāo)準(zhǔn) C的文件操作和Linux的系統(tǒng)調(diào)用open、read、write等的使用區(qū)別。答:一個(gè)是底層的系統(tǒng)調(diào)用,另一個(gè)是庫函數(shù)調(diào)用,其效率略有差距,同時(shí)參數(shù)也不同。(4)按照說明重新修改程序 3-2,并使用time命令察看程序執(zhí)行的時(shí)間效率上有何區(qū)別。修改之前的系統(tǒng)時(shí)間: [root@localhost~]#time./list3_2real0m18.791suser0m0.824ssys0m17.317s修改之后的時(shí)間:[root@localhost~]#time./list3_2real0m0.049suser0m0.000ssys0m0.036s(5)輸入、編譯并運(yùn)行程序 3-3和3-4,寫出執(zhí)行結(jié)果,并比較他們 fseek和lseek在使用方法上的異同程序3的運(yùn)行結(jié)果是:在root目錄下創(chuàng)建了文件 hole.file 而且文件的內(nèi)容為:abcdefghij(6)學(xué)習(xí)并分別使用標(biāo)準(zhǔn) C的文件操作函數(shù)和 Linux的系統(tǒng)調(diào)用創(chuàng)建一個(gè)對(duì)學(xué)生基本信息進(jìn)行操作(插入、修改和刪除)的C程序,學(xué)生基本信息以結(jié)構(gòu)體的形式存儲(chǔ)在文件 中,structstu_info 的定義如下:structstu_info{charstu_num[12];charname[10];shortintsex;/*0 為女生,1為男生*/charmobile_phone[12];};3、實(shí)驗(yàn)結(jié)論學(xué)習(xí)了在linux環(huán)境下進(jìn)行簡單的 C語言程序設(shè)計(jì)。對(duì)linux下編程有所認(rèn)識(shí)。4、程序清單//程序清單3-1#include<stdio.h>#include<stdlib.h>intmain(void){charc;FILE*in,*out;if((in=fopen("file.in","r"))==NULL){perror("fileopenerror!");exit(0);}out=fopen("file.out","w");while((c=fgetc(in))!=EOF)fputc(c,out);}//程序清單3-2#include<unistd.h>#include<sys/stat.h>#include<fcntl.h>intmain(){//charblock[1024];charc;intin,out;intnread;in=open("file.in",O_RDONLY);out=open("file.out",O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR);//將注釋打開,并將兩條語句的后一句注釋掉,重新編譯執(zhí)行。//while((nread=read(in,block,sizeof(block)))>0)while((nread=read(in,&c,sizeof(c)))>0)//write(out,block,nread);write(out,&c,nread);}//程序清單3-3#include<stdio.h>#include<unistd.h>#include<fcntl.h>#include<sys/stat.h>#include<sys/types.h>charbuf1[]="abcdefghij";charbuf2[尸'ABCDEFGHIJ";voiderr_exit(char*err_s){perror(err_s);exit(1);}intmain(void){FILE*fp;if((fp=fopen("hole.file","w"))==NULL)err_exit("fileopenfail!");if(fwrite(buf1,sizeof(buf1),1,fp)!=1)err_exit("filewritebuf1error!");if(fseek(fp,40,SEEK_SET)==-1)err_exit("fseekerror!");if(fwrite(buf2,strlen(buf2),1,fp)!=1)err_exit("filewritebuf2error!");fclose(fp);}//程序清單3-4#include<stdio.h>#include<unistd.h>#include<fcntl.h>#include<sys/stat.h>#include<sys/types.h>charbufl[尸'abcdefghij";charbuf2[尸'ABCDEFGHIJ";voiderr_exit(char*err_s){perror(err_s);exit(1);}intmain(void){intfd;if((fd=open("hole.file",O_WRONLY|O_CREAT/*|O_APPEND,0644*/))==-1)err_exit("fileopenfail!");if(write(fd,buf1,10)!=10)err_exit("filewritebuf1error!");if(lseek(fd,40,SEEK_SET)==-1)err_exit("lseekerror!");if(write(fd,buf2,10)!=10)err_exit("filewritebuf2error!");}實(shí)驗(yàn)報(bào)告組別姓名高宇同組實(shí)驗(yàn)者實(shí)驗(yàn)項(xiàng)目名稱實(shí)驗(yàn)四進(jìn)程控制實(shí)驗(yàn)日期第ong14周周四3,4節(jié)教師評(píng)語實(shí)驗(yàn)成績指導(dǎo)教師1、實(shí)驗(yàn)?zāi)康模?1)學(xué)習(xí)和掌握fork等系統(tǒng)調(diào)用的基本使用方法。(2)利用Linux中的管道實(shí)現(xiàn)父子進(jìn)程間的同步。2、實(shí)驗(yàn)內(nèi)容與步驟(1)使用Vi將程序清單4-1的程序輸入、編譯并運(yùn)行,學(xué)習(xí)和掌握fork的基本調(diào)用方法。(2)使用Vi將程序清單4-2、4-3和4-4的程序輸入、利用gcc分別編譯這三個(gè)程序,寫出編譯命令和編譯結(jié)果,如果不成功,嘗試?yán)胓db調(diào)試。[root@localhost?]#gcc-o4_24_2.c4_2.c:43:2:warning:nonewlineatendoffile[root@localhost?]#./4_2childfailed.4-3[root@localhost?]#gcc-ofatherfather.cfathercInfunction'main':father.c:7:error:'l'undeclared(firstuseinthisfunction)father.c:7:error:(Eachundeclaredidentifierisreportedonlyoncefather.c:7:error:foreachfunctionitappearsin.)father.c:8:error:stray'\129'inprogramfather.c:8:error:syntaxerrorbeforenumericconstantfather.c:8:error:stray'\132'inprogramfather.c:10:2:warning:nonewlineatendoffile[root@localhost?]#gcc-ochildchild.cchild.c:7:2:warning:nonewlineatendoffile[root@localhost?]#./childhellohellochild,child.(3)寫出編譯這三個(gè)程序的 makefile,然后利用make進(jìn)行編譯,談?wù)勥@么做的好處??梢怨?jié)省勞動(dòng)時(shí)間,讓三個(gè)程序同時(shí)編譯,簡化了操作。(4)運(yùn)行這三個(gè)程序,寫出運(yùn)行結(jié)果。4—2的運(yùn)行結(jié)果:4_2.c:43:2:warning:nonewlineatendoffile[root@localhost?]#./4_2Parentisusingpipewrite.child,child.4—3的運(yùn)行結(jié)果:[root@localhost~]#./fatherParentisusingpipewrite.4—4的運(yùn)行結(jié)果是:[root@localhost~]#./childhellochild!hellochild!child,child.(5)屏幕上顯示出的執(zhí)行結(jié)果是哪一個(gè)進(jìn)程執(zhí)行的結(jié)果?Father.c(6)父進(jìn)程中的printf有向屏幕輸出嗎?為什么?沒有,因?yàn)楦高M(jìn)程的標(biāo)準(zhǔn)輸出已經(jīng)被重定向。(7)利用父子進(jìn)程間的管道通信方式,改寫實(shí)驗(yàn) 3步驟6要求的程序。要求啟用兩個(gè)進(jìn)程,其中父進(jìn)程接受用戶對(duì)文件 的操作命令然后通過管道發(fā)給子進(jìn)程, 子進(jìn)程完成對(duì)文件的實(shí)際操作3、實(shí)驗(yàn)結(jié)論對(duì)進(jìn)程有所了解,學(xué)習(xí)了linux下進(jìn)程的操作方法,了解了dup的工作原理4、程序清單//程序清單4-1#include<unistd.h>#include<stdio.h>#include"err_exit.h"intglobal=5;intmain(void){pid_tpid;char*string="thesearevaluesbeforefork:";intlocal=10;printf("beforefork***\n\n");if((pid=fork())<0)err_exit("forkerror");if(pid==0){string="Iamchild.";printf("\nMypidis%d,%s'n""pid=%d\nglobal=%d\nlocal=%d\n",getpid(),string,pid,global,local);global++;}else{string="Iamparent.";printf("\nMypidis%d,%s'n""pid=%d\nglobal=%d\nlocal=%d\n",getpid(),string,pid,global,local);local++;printf("%s\nNow,global=%d,local=%d\n",string,global,local);exit(EXIT_SUCCESS);//清單4-2管道程序#defineSTD_INPUT0 //定義標(biāo)準(zhǔn)輸入設(shè)備描述符#defineSTD_OUTPUT1 //定義標(biāo)準(zhǔn)輸出設(shè)備描述符intfd[2];main(){staticcharprocess1[尸 "father”,process2[]="child”;pipe(fd); //定義管道pipeline(process1,process2); 〃調(diào)用自定義函數(shù) pipeline。exit(1); 〃程序結(jié)束}pipeline(char*process1,char*process2){inti;if((i=fork())==-1) //創(chuàng)建進(jìn)程,失敗退出{perror("processforkerror!");exit(1)}if(i){close(fd[0]); //關(guān)閉管道輸入描述符close(STD_OUTPUT); //關(guān)閉標(biāo)準(zhǔn)輸出描述符 1dup(fd[1]); //指定標(biāo)準(zhǔn)輸出描述符 1為管道寫指針close(fd[1]); //關(guān)閉原始管道寫指針execl(process1,process1,0);//用程序father覆蓋當(dāng)前程序printf( "fatherfailed:);//execl()執(zhí)行失敗}else{close(fd[1]); //關(guān)閉管道輸出描述符close(STD_INPUT); //關(guān)閉標(biāo)準(zhǔn)輸入描述符0dup(fd[0]); //指定標(biāo)準(zhǔn)輸入描述符 0為管道讀指針close(fd[0]); //關(guān)閉原始管道讀指針execl(process2,process2,0); //用程序child覆蓋當(dāng)前程序printf( "childfailed.);//execl()執(zhí)行失敗
//程序結(jié)束//程序結(jié)束}清單4-3father.cmain(){staticcharstring[尸 "Parentisusingpipewrite.”;intlen;len=sizeof(string);write(1,string,len); /*將string中的內(nèi)容寫入管道中 */printf("parent,parent,parentn")?;exit(0);}清單4-4child.cmain(){charoutput[30];read(0,output,30); /*從管道中讀數(shù)據(jù)并存入 output中*/printf("%s n",output);return(0);}實(shí)驗(yàn)報(bào)告組別姓名高宇同組實(shí)驗(yàn)者實(shí)驗(yàn)項(xiàng)目名稱實(shí)驗(yàn)五線程練習(xí)實(shí)驗(yàn)日期第15周周四3,4節(jié)教師評(píng)語實(shí)驗(yàn)成績指導(dǎo)教師一、實(shí)驗(yàn)?zāi)康恼莆誰inux環(huán)境下線程的創(chuàng)建掌握linux環(huán)境下線程編程的幾種常見模型掌握信號(hào)量和互斥量的使用、線程同步二、實(shí)驗(yàn)準(zhǔn)備使用線程編程的幾種常見模型:.管理者/工作者(Manager/worker):一個(gè)單線程,作為管理器將工作分配給其它線程(工作者),典型的,管理器處理所有輸入和分配工作給其它任務(wù)。至少兩種形式的manager/worker模型比較常用:靜態(tài)worker池和動(dòng)態(tài)worker池。.管道(Pipeline):任務(wù)可以被劃分為一系列子操作,每一個(gè)被串行處理,且是被不同的線程并發(fā)處理。汽車裝配線可以很好的描述這個(gè)模型。比如 IDM等下載軟件的文件分塊同時(shí)下載。.Peer:Peer和manager/worker模型相似,但是主線程在創(chuàng)建了其它線程后,自己也參與工作。三、實(shí)驗(yàn)內(nèi)容.創(chuàng)建和結(jié)束線程函數(shù):intpthread_create(pthread_t*tidp,constpthread_attr_t*attr,(void*)(*start_rtn)(void*),void*arg);voidpthread_exit(void*retval);intpthread_attr_init(pthread_attr_t*attr);intpthread_attr_destroy(pthread_attr_t*attr);單線程該程序5秒后輸出,sleep期間不再響應(yīng)其它消息或執(zhí)行其他操作。為了更好地處理這種耗時(shí)的操作,我們需要使用多線程編程。執(zhí)行結(jié)果:.用信號(hào)量進(jìn)行同步1)信號(hào)量創(chuàng)建#include<semaphore.h>intsem_init(sem_t*sem,intpshared,unsignedintvalue);參數(shù)說山: 一sem:信號(hào)量對(duì)象。pshared:控制信號(hào)量的類型,0表示這個(gè)信-號(hào)量是當(dāng)前進(jìn)程的局部信號(hào)量,否則,這個(gè)信號(hào)量就可以在多個(gè)進(jìn)程之間共享。value:信號(hào)量的初始值。2)信號(hào)量控制#include<semaphore.h>intsem_wait(sem_t*sem);intsem_post(sem_t*sem);sempost的作用是以原子操作的方式給信號(hào)量的值加 1。em_wait的作用是以原子操作的方式給信號(hào)量的值減 1,但它會(huì)等到信號(hào)量非0時(shí)才會(huì)開始減法操作。如果對(duì)值為0的信號(hào)量調(diào)用sem_wait,這個(gè)函數(shù)就會(huì)等待,直到有線程增加了該信號(hào)量的值使其不再為 0o3)信號(hào)量銷毀#include<semaphore.h>intsem_destory(sem_t*sem);這個(gè)函藪的作用是,用完信號(hào)量后對(duì)它進(jìn)行清理,清理該信號(hào)量所擁有的資源。如果你試圖清理的信號(hào)量正被一些線程等待,就會(huì)收到一個(gè)錯(cuò)誤。與大多數(shù)Linux函數(shù)一樣,這些函數(shù)在成功時(shí)都返回00下面編碼實(shí)現(xiàn)輸入字符串,統(tǒng)計(jì)每行的字符個(gè)數(shù),以“end”結(jié)束輸入:程序代碼:執(zhí)行語句:gcc-othread2thread2.c-pthread執(zhí)行結(jié)果:通過使用信號(hào)量,阻塞了統(tǒng)計(jì)字符個(gè)數(shù)的線程。四、實(shí)驗(yàn)總結(jié):另一種用在多線程程序中同步訪問的方法是使用互斥量。它允許程序員鎖住某個(gè)對(duì)象,使得每次只能有一個(gè)線程訪問它。為了控制對(duì)關(guān)鍵代碼的訪問,必須在進(jìn)入這段代碼之前鎖住一個(gè)互斥量,然后在完成操作之后解鎖它。??????用于互斥量的基本函數(shù)和用于信號(hào)量的函數(shù)非常相似:#include<pthread.h>intpthread_mutex_init(pthread_mutex_t*mutex,constpthread_mutexattr_t,*mutexattr);intpthread_mutex_lock(pthread_mutex_t*mutex);intpthread_mutex_unlock(pthread_mutex_t*mutex);intpthread_mutex_destory(pthread_mutex_t*mutex);可以使用互斥信號(hào)量應(yīng)寫上面的程序一一實(shí)驗(yàn)報(bào)告組別姓名高宇同組實(shí)驗(yàn)者實(shí)驗(yàn)項(xiàng)目名稱實(shí)驗(yàn)六網(wǎng)絡(luò)編程實(shí)驗(yàn)日期第16周周四3,4節(jié)教師評(píng)語實(shí)驗(yàn)成績指導(dǎo)教師一、實(shí)驗(yàn)?zāi)康睦斫舛丝诤蚐ocket的概念理解并且掌握面向連接的TC喻程和面向非連接的UDP編程I/O多路利用的控制二、實(shí)驗(yàn)要求編寫一個(gè)基于TCP編程的網(wǎng)絡(luò)應(yīng)用程序三、實(shí)驗(yàn)原理.套接字,區(qū)分不同的程序進(jìn)程間的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人心理咨詢與輔導(dǎo)服務(wù)合同3篇
- 2025年度林業(yè)權(quán)屬林權(quán)登記與林業(yè)碳匯項(xiàng)目實(shí)施合同4篇
- 2025年福建貨運(yùn)從業(yè)資格證新政
- 七夕節(jié)趣味活動(dòng)策劃方案
- 二零二五年度高速鐵路鋁合金門窗安全檢測與安裝合同4篇
- 二零二五年度0號(hào)柴油環(huán)保油品居間服務(wù)合同3篇
- 2025年度個(gè)人房產(chǎn)交易過戶手續(xù)辦理協(xié)議3篇
- 二零二五年度土地租賃及經(jīng)營權(quán)轉(zhuǎn)讓合同樣本-@-1
- 二零二五年度離婚房產(chǎn)分割與子女醫(yī)療費(fèi)用承擔(dān)合同3篇
- 二零二五年度企業(yè)員工培訓(xùn)課程版權(quán)購買協(xié)議4篇
- 2024年社區(qū)警務(wù)規(guī)范考試題庫
- 2024年食用牛脂項(xiàng)目可行性研究報(bào)告
- 2024-2030年中國戶外音箱行業(yè)市場發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 家務(wù)分工與責(zé)任保證書
- 消防安全隱患等級(jí)
- (新版)國民經(jīng)濟(jì)行業(yè)分類代碼表(八大行業(yè))
- 北京地鐵13號(hào)線
- 2023山東春季高考數(shù)學(xué)真題(含答案)
- 為加入燒火佬協(xié)會(huì)致辭(7篇)
- 職業(yè)衛(wèi)生法律法規(guī)和標(biāo)準(zhǔn)培訓(xùn)課件
- 高二下學(xué)期英語閱讀提升練習(xí)(二)
評(píng)論
0/150
提交評(píng)論