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

正文內(nèi)容

基于中間件的圖書管理系統(tǒng)unix課程設計-文庫吧資料

2025-07-11 03:41本頁面
  

【正文】 g to do, and to the next loop close(ns)。 close(s)。 continue。 } while(1){ fprintf(stderr,\n\t\t\t Now wait connect ...\n)。 close(s)。 exit(6)。sin,sizeof(sin))==1){ fprintf(stderr,Error: bind)。 =sps_port。 } bzero(amp。 } if((s=socket(AF_INET,SOCK_STREAM,0))==1){ fprintf(stderr,Error: socket create)。 } if((sp=getservbyname(service,tcp))==NULL){ fprintf(stderr,Error: getservbyname)。 fprintf(stderr,Note: server_name is defined in file /etc/services\n)。 else { fprintf(stderr,NO service assigned!\nUsage:\n)。 char *service。 int s,ns,pid。 } main(int argc, char **argv ) { struct sockaddr_in sin。 opdb(cmd,NULL,0)。 opdb(cmd,NULL,0)。amp。 sprintf(cmd2,select * from borrow where r_id=\%s\,id)。amp。 } checkstat(char id[]) { char cmd1[128],cmd2[128],cmd[128],buf[10]。 printf(n=%d\n,n)。mysql)。 25 mysql_free_result(result)。 } } sprintf(p,%d%s,n,buf)。i++) { strcat(buf,)。 for(i=1。)。 if(p!=NULL) { bzero(buf,sizeof(buf))。 } i=0。 return 1。 mysql_close(amp。 if((result=mysql_store_result(amp。 return 1。 mysql_close(amp。 if(mysql_query(amp。 } printf(Connect db successfully!\n)。mysql)。mysql,localhost,root,0,library,0,NULL,0)) { printf(Connect error!\n)。 } 24 printf(Init db successfully!\n)。mysql)==NULL) { printf(db init error!\n)。 char buf[256]。 MYSQL_ROW row。 } int opdb(char *cmd,char *p,int flag) //operate database { MYSQL mysql。 j=0。 j++。ip))!=NULL) { strcpy(result[i][j],tmp)。op))!=NULL) { p=tmp。 while((tmp=strtok_r(NULL,。,amp。 p=temp。 temp=(char *)malloc(strlen(buf))。 23 服務器代碼 include include include include sys/ include sys/ include i/ include includemysql/ include define rec_length 20 getm(char buf[],char result[][10][50]) //change format { char *ip=NULL,*op=NULL,*temp=NULL,*p=NULL,*tmp=NULL。 insert into reader values (00000,youke,123,1)。 insert into books values (6,book6,f,4)。 insert into books values (4,book4,d,10)。 insert into books values (2,book2,b,6)。 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 )。 create table reader( id char(10) not null primary key, name char(50) not null, password char(15), enable char(2) default 1 )。 use library。 其實設計中遇到的問題遠比這多很多,因為掌握知識的程度不同,各種各樣的編程問題都會遇到, 我 們 堅持不懈,通過不斷的學習和查閱資料、向老師請教,最后通過努力 完成了任務。其次原先若輸入比菜單中選項大的數(shù)字,系統(tǒng)沒有識別錯誤,繼續(xù)執(zhí)行。 在編寫好程序后,發(fā)現(xiàn)在 管理員增加圖書模塊,只能連續(xù)的增加圖書,不能退出該選項。 平時我們 都習慣了使用 Windows 的編輯器,開始的時候由于 UNIX 的文檔編輯和 Windows 有著很大的區(qū)別, UNIX是全字符編輯器,所以在初期使用 UNIX進行的編輯的時候有點不知道該從那下手,后來經(jīng)過學習知道在其編輯過程中我們可以使用終端通過命令來實現(xiàn)。 //關閉連接 } ◆ 編譯和鏈接 方法 編譯鏈接時要使用 L 和 l參數(shù) 例如: cc o mysql L/usr/lib/mysql lmysqlclient 10 五、調(diào)試與測試 調(diào)試方法 1) 安裝組件: rpm – ivh mysqldevel*.rpm 2) 增加服務: vi /etc/services S1 1245/tcp S2 1246/tcp 3) 連接數(shù)據(jù)庫: mysql –u root 4) 運 行服務器: cc o server L/usr/lib/mysql lmysqlclient ./server s1 5) 運行中間件: cc –o middle ./middle s2 s1 localhost 6) 運行客戶端: cc –o client ./client s2 localhost 測試結(jié)果分析及討論 1) MySQL 數(shù)據(jù)庫的相關截圖 編寫 腳本文件,在文件中編寫創(chuàng)建數(shù)據(jù)庫 library,在該數(shù)據(jù)庫下創(chuàng)建 admi、 books、 borrow、 test 表,并插入相應的數(shù)據(jù),具體內(nèi)容如下圖所示。 //清理數(shù)據(jù) mysql_close(amp。 ◆ 處理結(jié)果集 while((row=mysql_fetch_row(result))){ fprintf(stdout,%s|\t%s\n,row[0],row[2])。//保存結(jié)果 result=mysql_store_result(amp。 ◆ 執(zhí)行查詢語句 mysql_query mysql_query(amp。 ◆ 連接數(shù)據(jù)庫 mysql_real_connect(amp。 ◆ 頭文件: 目錄: /usr/include/mysql 使用: include mysql/ 說明:必要時可使用 I 參數(shù) ◆ 庫文件: 9 靜態(tài)庫: /usr/lib/mysql/ 動態(tài)庫: /usr/lib/mysql/ 使用參數(shù): L/usr/lib/mysql lmysqlclient ◆ 初始化數(shù)據(jù)結(jié)構(gòu) mysql_init(amp。 drop database db/ table tbl。 create database db。提示符為“” ,可以使用的命令有: show databases / tables。方法: ◆ chkconfig –level 2345 mysqld on ◆ ntsysv ◆ service mysqld start / stop /restart ◆ 圖形方式 MySQL 客戶端命令行工具 MySqyl客戶端命令行工具為 mysql。 close()的調(diào)用格式如下: int close(int s); MySQL 數(shù)據(jù)庫在 Unix 的使用 軟件包需要 1) MySql服務器 2) MySql客戶端 3) MySql開發(fā)接口庫 8 MySQL 服務配置 ◆ mysqyld 服務要運行起來。 【 6】 關閉套接字: close() close()關閉套接字 s,并釋放分配給該套接字的資源 。 recv/send 可由文件系統(tǒng)調(diào)用 read/write 所取代。send()調(diào)用用于在參數(shù) s 指定的已連接的數(shù)據(jù)報或流套接字上發(fā)送輸出數(shù)據(jù) ,格式如下 : int send(int s,void *buf,int len,int flags)。 【 5】 數(shù)據(jù)傳輸: send()/write 與 recv()/read() 當一個連接建立以后 ,就可以傳輸數(shù)據(jù)了。 當有連接請求到達時 ,accept()調(diào)用將請求連接隊列上的第一個客戶方套接字地址及長度放入 addr 和 addrlen,并創(chuàng)建一個與 s 有相同特性的新套接字號。 ② accept 服務器調(diào)用,從等待從編號為 s 的套接字上接受客戶連接請求 用法: int accept(int s, struct sockaddr *addr, socklen_t addrlen)。 7 ① connect 功能:客戶方調(diào)用發(fā)出的請求 用法: int connect(int sockfd,const structct sockaddr * server_addr, socklen_t addrlen)。默認值為 5. 【 4】 connect(), accept() 這兩個系統(tǒng)調(diào)用用于完成一個完整相關的建立 ,其中 connect()用于客戶建立連接。 listen()在執(zhí)行調(diào)用過程中可為沒有調(diào)用過 bind()的套接字 s 完成所必需的連接 ,并建立長度為 backlog 的請求連接隊列。 addrlen=sizeof(my_addr). 【 3】監(jiān)聽連接 — listen() 此調(diào)用用于面向連接服務器 ,表明它愿意接收連接。 說明: sockfd:為 socket 成功時的返回值 —套接字描述符。 【 2】綁定本地地址 — bind() 當一個套接字用 socket()創(chuàng)建后 ,存在一個名字空間 (地址族 ),但它沒有被命名, bind()將套接字地址 (包括本地主機地址和本地端口地址 )與所創(chuàng)建的套接字號綁定起來 ,即將名字賦予套接字 ,以指定本地半相關。實際上指定了相關五元組中的 “ 協(xié)議 ” 這一元。其調(diào)用格式如下 : include sys/
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1