freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于中間件的圖書管理系統(tǒng)unix課程設(shè)計(專業(yè)版)

2024-08-03 18:48上一頁面

下一頁面
  

【正文】 //通用地址結(jié)構(gòu)sockaddr struct servent *sp。 exit(1)。 =sp1s_port。 } if((pid=fork())==1){ // conneted, and then create child proc fprintf(stderr,server: fork error!)。 exit(5)。 int ss,spid。D39。 if(write(ns,buf,strlen(buf))=0) { printf(Write wrong!\n)。 buf[0]=39。 if(n=0){ printf(write error!\n)。 checkstat(rec[0][0])。 opdb(cmd,buf,1)。 opdb(cmd,writer,0)。 } break。 break。password=\%s\,rec[0][0],rec[0][1])。 case 39。\039。 char id[50],password[50]。 if((ns=accept(s,0,0))==1) { // wait a connection */ fprintf(stderr,error: accept)。 exit(1)。 if((opdb(cmd1,NULL,1)==0)amp。imysql_num_fields(result)。mysql)。 int i,j,n=0。 strtok_r(temp,。create table admi(id char(10) not null primary key,name char(50) not null,password char(15))。 }mysql_free_result(result)。其常用法為:mysql [OPTIONS] [database] 常用參數(shù)有:?, help: 幫助D, database=DB_name: 指定數(shù)據(jù)庫h, host=Host_name: 指定主機u, user=DB_user_name: 指定用戶p[…], password[=…]: 指定密碼 客戶端命令行 命令行提示符下輸入:mysql 或 mysql –u root進(jìn)入mysql系統(tǒng)。 在面向連接的協(xié)議中,該調(diào)用導(dǎo)致本地系統(tǒng)和外部系統(tǒng)之間連接實際建立。Server_mserver_1……MiddleClient_2Client_1…… 中間件服務(wù)框圖serverClient_nClient_1…… c/s客戶/服務(wù)器模式框圖socket()建立服務(wù)方套接字描述符為sSocket()建立服務(wù)方套接字,描述符為sConnect()建立服務(wù)方連接Send()和write()向服務(wù)方發(fā)送請求客戶方等待服務(wù)方Recv()和read()讀取服務(wù)方數(shù)據(jù)Close()關(guān)閉最初套接字s,結(jié)束服務(wù)器服務(wù)Close()關(guān)閉套接字ns,結(jié)束本次對話進(jìn)行服務(wù)處理成功后返回與s具有相同特性的套接字accept(s)等待客戶方鏈接Listen(s)通知TCP,準(zhǔn)備接受bind(s)綁定套接字與本地地址和端口recv()和read()通過ns讀取客戶方數(shù)據(jù)Send()和writer()向客戶方提供服務(wù)結(jié)果Close()關(guān)閉套接字s,結(jié)束本次通話 程序設(shè)計類圖 開始登錄結(jié)束查詢用戶管理員 輸入密碼續(xù)借刪除添加借書還書顯示借閱信息 請求服務(wù)中間件數(shù)據(jù)庫服務(wù)器 和數(shù)據(jù)庫交換數(shù)據(jù) 程序設(shè)計流程圖四、詳細(xì)設(shè)計 【1】創(chuàng)建套接字—socket() 應(yīng)用程序在使用套接字前,必須擁有一個套接字,系統(tǒng)調(diào)用socket()向應(yīng)用程序提供創(chuàng)建套接字的手段。本設(shè)計的目的是使參與設(shè)計者掌握利用軟件工程的思想方法和TCP/IP設(shè)計出用于不同行業(yè)和部門間的通訊轉(zhuǎn)發(fā)或協(xié)議轉(zhuǎn)換軟件—中間件,尤其掌握這種設(shè)計的思想和方法。相連接的系統(tǒng),即使它們具有不同的接口,但通過中間件相互之間仍能交換信息。在中間件誕生之前,多采用傳統(tǒng)C/S二層結(jié)構(gòu)。 本次設(shè)計的中間件是交易型中間件??蛻舳说沫h(huán)境可以是Windows系統(tǒng),也可以的Linux系統(tǒng)?!?】綁定本地地址—bind()當(dāng)一個套接字用socket()創(chuàng)建后,存在一個名字空間(地址族),但它沒有被命名,bind()將套接字地址(包括本地主機地址和本地端口地址)與所創(chuàng)建的套接字號綁定起來,即將名字賦予套接字,以指定本地半相關(guān)。 【5】數(shù)據(jù)傳輸:send()/write與recv()/read() 當(dāng)一個連接建立以后,就可以傳輸數(shù)據(jù)了。drop database db/ table tbl。平時我們都習(xí)慣了使用Windows的編輯器,開始的時候由于UNIX的文檔編輯和Windows有著很大的區(qū)別,UNIX是全字符編輯器,所以在初期使用UNIX進(jìn)行的編輯的時候有點不知道該從那下手,后來經(jīng)過學(xué)習(xí)知道在其編輯過程中我們可以使用終端通過命令來實現(xiàn)。insert into books values (4,book4,d,10)。op))!=NULL) { p=tmp。 } printf(Init db successfully!\n)。 mysql_close(amp。 mysql_free_result(result)。 opdb(cmd,NULL,0)。 } bzero(amp。 } if(pid!=0){ //parent proce, nothing to do, and to the next loop close(ns)。 while(1) { n=0。39。 n=opdb(cmd,buf,1)。 } printf(Login\n)。: getm(buf,rec)。239。 if((write(ns,buf,strlen(buf)))=0){ printf(Write socket error!\n)。 } printf(send n=%d\n,n)。 } break。M39。 case 39。: getm(buf,rec)。039。 char buf[128]。 =sps_port。continue。 close(ss)。 exit(2)。 dest=argv[2]。 } } close(ss)。 exit(3)。 } bzero(amp。 close(s)。 fprintf(stderr,\t%s lservice dservice server_name!\n,argv[0])。 exit(0)。 break。 } break。 sprintf(cmd,update borrow set b_date=date_add(b_date,interval 30 day) where r_id=\%s\amp。amp。amp。: getm(buf,rec)。 bzero(cmd,sizeof(cmd))。139。amp。l39。 n=opdb(cmd,buf,1)。 bzero(tmp,sizeof(tmp))。 MYSQL_RES *result。 exit(6)。 char *service。}checkstat(char id[]){ char cmd1[128],cmd2[128],cmd[128],buf[10]。 if(p!=NULL) { bzero(buf,sizeof(buf))。 } printf(Connect db successfully!\n)。 j=0。include include include include sys/include sys/include netinet/include includemysql/includedefine rec_length 20getm(char buf[],char result[][10][50]) //change format{ char *ip=NULL,*op=NULL,*temp=NULL,*p=NULL,*tmp=NULL。其實設(shè)計中遇到的問題遠(yuǎn)比這多很多,因為掌握知識的程度不同,各種各樣的編程問題都會遇到,我們堅持不懈,通過不斷的學(xué)習(xí)和查閱資料、向老師請教,最后通過努力完成了任務(wù)?!魣?zhí)行查詢語句mysql_querymysql_query(amp?!?】關(guān)閉套接字:close()close()關(guān)閉套接字s,并釋放分配給該套接字的資源。listen()在執(zhí)行調(diào)用過程中可為沒有調(diào)用過bind()的套接字s完成所必需的連接,并建立長度為backlog的請求連接隊列。服務(wù)端環(huán)境必須是Linux系統(tǒng)。二、設(shè)計目的及要求基于UNIX Socket和MySQL數(shù)據(jù)庫,設(shè)計一個交易型中間件系統(tǒng)。這不僅表現(xiàn)在技術(shù)上有難度,更重要的是在制度和安全方面。雖然它帶來了相當(dāng)?shù)撵`活性,但也逐漸暴露出其客戶端和服務(wù)器端負(fù)擔(dān)過重的現(xiàn)象,并且拓展性也較差,無法跨越不同的業(yè)務(wù)部門和業(yè)務(wù)系統(tǒng)。軟件環(huán)境該圖書管理系統(tǒng)是在windows XP操作系統(tǒng)下使用Linux虛擬機環(huán)境,使用GNU C,在UNIX/Linux make開發(fā)工具的管理和控制下,利用UNIX/Linux Socket庫和MySQL數(shù)據(jù)庫在網(wǎng)絡(luò)的底層進(jìn)行開發(fā)設(shè)計的。(3)服務(wù)器服務(wù)器程序命名為server,要求帶有一個服務(wù)參數(shù),與中間件的mysvr2同服務(wù)器方程序要完成客戶端或中間件提出的業(yè)務(wù)請求,并做好留跡工作。1isten()需在accept()之前調(diào)用,其調(diào)用格式如下:include sys/int listen(int s,int backlog)。在處理二進(jìn)制數(shù)據(jù)處理時,后者優(yōu)于前者。mysql,localhost,root,0,“mydb,0,NUL
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1