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

正文內(nèi)容

基于中間件的圖書管理系統(tǒng)unix課程設計-全文預覽

2024-07-20 18:48 上一頁面

下一頁面
  

【正文】 } printf(Login\n)。 opdb(cmd,buf,1)。: getm(buf,rec)。 } printf(Login\n)。 opdb(cmd,buf,1)。 checkstat(rec[0][0])。 } break。 n=opdb(cmd,buf,1)。q39。 if((write(ns,buf,sizeof(buf)))=0) { printf(Write socket wrong!\n)。 checkstat(rec[0][0])。39。 printf(receive message:%s\n,buf)。 if((n=read(ns,buf,sizeof(buf)))=0) { printf(read wrong!\n)。 bzero(writer,sizeof(writer))。 while(1) { n=0。 char rec[10][10][50]。 char cmd[128],buf[128]。 printf(Receive a client connect:\n)。 } if(pid!=0){ //parent proce, nothing to do, and to the next loop close(ns)。 continue。 close(s)。sin,sizeof(sin))==1){ fprintf(stderr,Error: bind)。 } bzero(amp。 } if((sp=getservbyname(service,tcp))==NULL){ fprintf(stderr,Error: getservbyname)。 else { fprintf(stderr,NO service assigned!\nUsage:\n)。 int s,ns,pid。 opdb(cmd,NULL,0)。amp。amp。 printf(n=%d\n,n)。 mysql_free_result(result)。i++) { strcat(buf,)。)。 } i=0。 mysql_close(amp。 return 1。 if(mysql_query(amp。mysql)。 } printf(Init db successfully!\n)。 char buf[256]。}int opdb(char *cmd,char *p,int flag) //operate database{ MYSQL mysql。 j++。op))!=NULL) { p=tmp。,amp。 temp=(char *)malloc(strlen(buf))。insert into reader values (00000,youke,123,1)。insert into books values (4,book4,d,10)。create table borrow(r_id char(10) not null,b_id char(10) not null,b_date date,status char(2),primary key(b_id,r_id),foreign key(b_id) references books(id) on delete cascade on update cascade,foreign key(r_id) references reader(id) on delete cascade on update cascade)。use library。其次原先若輸入比菜單中選項大的數(shù)字,系統(tǒng)沒有識別錯誤,繼續(xù)執(zhí)行。平時我們都習慣了使用Windows的編輯器,開始的時候由于UNIX的文檔編輯和Windows有著很大的區(qū)別,UNIX是全字符編輯器,所以在初期使用UNIX進行的編輯的時候有點不知道該從那下手,后來經(jīng)過學習知道在其編輯過程中我們可以使用終端通過命令來實現(xiàn)。 //清理數(shù)據(jù) mysql_close(amp。//保存結(jié)果result=mysql_store_result(amp。◆連接數(shù)據(jù)庫mysql_real_connect(amp。drop database db/ table tbl。提示符為“”,可以使用的命令有:show databases / tables。close()的調(diào)用格式如下:int close(int s); MySQL數(shù)據(jù)庫在Unix的使用 軟件包需要1)MySql服務器2)MySql客戶端3)MySql開發(fā)接口庫 MySQL服務配置◆ mysqyld服務要運行起來。 recv/send可由文件系統(tǒng)調(diào)用read/write所取代。 【5】數(shù)據(jù)傳輸:send()/write與recv()/read() 當一個連接建立以后,就可以傳輸數(shù)據(jù)了。 ②accept服務器調(diào)用,從等待從編號為s的套接字上接受客戶連接請求用法:int accept(int s, struct sockaddr *addr, socklen_t addrlen)。默認值為5. 【4】connect(),accept()這兩個系統(tǒng)調(diào)用用于完成一個完整相關(guān)的建立,其中connect()用于客戶建立連接。addrlen=sizeof(my_addr).【3】監(jiān)聽連接—listen() 此調(diào)用用于面向連接服務器,表明它愿意接收連接?!?】綁定本地地址—bind()當一個套接字用socket()創(chuàng)建后,存在一個名字空間(地址族),但它沒有被命名,bind()將套接字地址(包括本地主機地址和本地端口地址)與所創(chuàng)建的套接字號綁定起來,即將名字賦予套接字,以指定本地半相關(guān)。其調(diào)用格式如下:include sys/int socket(int domain, int type, int protocol)??蛻舳嘶蛑虚g件方可以使用文本文件或數(shù)據(jù)庫,但在服務器方必須使MySql數(shù)據(jù)庫。中間件的環(huán)境可以是Windows系統(tǒng),也可以的Linux系統(tǒng)??蛻舳说沫h(huán)境可以是Windows系統(tǒng),也可以的Linux系統(tǒng)。在很多場合中間件部分是必須的,因為在不同的行業(yè)的網(wǎng)絡是不允許直通的。交易型中間件是指用在不同行業(yè)、不同部門間的通訊轉(zhuǎn)發(fā)和協(xié)議轉(zhuǎn)換的軟件,在不同的行業(yè)、不同的系統(tǒng)間提供通訊轉(zhuǎn)發(fā)和協(xié)議轉(zhuǎn)換的橋梁作用。目錄一、系統(tǒng)環(huán)境 1硬件環(huán)境 1軟件環(huán)境 1二、設計目的及要求 2 2 2三、總體設計 4 4 5 6四、詳細設計 7 7 MySQL數(shù)據(jù)庫在Unix的使用 8 軟件包需要 8 MySQL服務配置 9 MySQL客戶端命令行工具 9 客戶端命令行 9 MySQL開發(fā)接口 9五、調(diào)試與測試 11 11 11六、設計中遇到的問題及解決方法 22七、源程序清單 23 23 24 33 36八、心得體會 57九、參考文獻 58一、系統(tǒng)環(huán)境硬件環(huán)境Pentium(R), 4 cpu ,512MB內(nèi)存。 本次設計的中間件是交易型中間件。執(zhí)行中間件的一個關(guān)鍵途徑是信息傳遞。該中間層既包括服務也包括請求中間件是一種獨立的系統(tǒng)軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術(shù)之間共享資源。服務對客戶機服務可將結(jié)果或信息返回給客戶機(雙向),也可不返回(單向)。在中間件誕生之前,多采用傳統(tǒng)C/S二層結(jié)構(gòu)??茖W技術(shù)是第一生產(chǎn)力,它給我們帶來的不僅僅是生活中的各種便利和生活水平的不斷提高,同時也給帶給了我們各種各樣的不同類型和不同層次的科技的領先發(fā)展的成果。C/S模式在操作過程中采取的是主動請求方式。于是,三層結(jié)構(gòu)出現(xiàn)了所謂三層結(jié)構(gòu),就是在原有的兩層結(jié)構(gòu)之間,增加一個中間層。相連接的系統(tǒng),即使它們具有不同的接口,但通過中間件相互之間仍能交換信息。C/S應用程序中負責尋找數(shù)據(jù)的部分只需訪問一個中間件系統(tǒng),由中間件完成到網(wǎng)絡中找到數(shù)據(jù)源或服務,進而實現(xiàn)傳輸客戶請求、重組答復信息,最后將結(jié)果送回應用程序的任務。本次設計的目的是掌握利用軟件工程的思想方法和TCP/IP設計出用于不同行業(yè)和部門間的通訊轉(zhuǎn)發(fā)或協(xié)議轉(zhuǎn)換軟件—中間件,尤其掌握這種設計的思想和方法。這里的中間件是指交易型中間件。本設計的目的是使參與設計者掌握利用軟件工程的思想方法和TCP/IP設計出用于不同行業(yè)和部門間的通訊轉(zhuǎn)發(fā)或協(xié)議轉(zhuǎn)換軟件—中間件,尤其掌握這種設計的思想和方法??蛻舳酥辽僖獙崿F(xiàn)如下功能:用戶管理;查詢;交易(交費,購物等);撤銷;留跡;本地業(yè)務統(tǒng)計。具體地是:接收客戶方數(shù)據(jù);組織服務器方所需數(shù)據(jù);重組服務方返回數(shù)據(jù),并返回給客戶方;留跡;本地業(yè)務統(tǒng)計。(4)留跡或log留跡或log工作在客戶端、中間件和服務器三方都要做,以供統(tǒng)計或核對使用。Server_mserver_1……MiddleClient_2Client_1…… 中間件服務框圖serverClient_nClient_1…… c/s客戶/服務器模式框圖socket()建立服務方套接字描述符為sSocket()建立服務方套接字,描述符為sConnect()建立服務方連接Send()和write()向服務方發(fā)送請求客戶方等待服務方Recv()和read()讀取服務方數(shù)據(jù)Close()關(guān)閉最初套接字s,結(jié)束服務器服務Close()關(guān)閉套接字ns,結(jié)束本次對話進行服務處理成功后返回與s具有相同特性的套接字accept(s)等待客戶方鏈接Listen(s)通知TCP,準備接受bind(s)綁定套接字與本地地址和端口recv()和read()通過ns讀取客戶方數(shù)據(jù)Send()和writer()向客戶方提供服務結(jié)果Close()關(guān)閉套接字s,結(jié)束本次通話 程序設計類圖 開始登錄結(jié)束查詢用戶管理員 輸入密碼續(xù)借刪除添加借書還書顯示借閱信息 請求服務中間件數(shù)據(jù)庫服務器 和數(shù)據(jù)庫交換數(shù)據(jù) 程序設計流程圖四、詳細設計 【1】創(chuàng)建套接字—socket() 應用程序在使用套接字前,必須擁有一個套接字,系統(tǒng)調(diào)用socket()向應用程序提供創(chuàng)建套接字的手段。domain(協(xié)議族):AF_INET,AF_UNIX,AF_IPXtype(類型):SOCK_STREAM,SOCK_DGRAMprotocol(協(xié)議):0讓系統(tǒng)使用指定類型和協(xié)議族上的默認協(xié)議。my_addr為本方地址數(shù)據(jù)結(jié)構(gòu)。backlog定義最大長度的socket等待隊列。 在面向連接的協(xié)議中,該調(diào)用導致本地系統(tǒng)和外部系統(tǒng)之間連接實際建立。新的套接字可用于處理服務器并發(fā)請求。int recv(int s,void *buf,int len,int flags)。如果s涉及一個打開的TCP連接,則該連接被釋放。其常用法為:mysql [OPTIONS] [database] 常用參數(shù)有:?, help: 幫助D, database=DB_name: 指定數(shù)據(jù)庫h, host=Host_name: 指定主機u, user=DB_user_name: 指定用戶
點擊復制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1