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

正文內(nèi)容

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

2024-08-27 03:41上一頁面

下一頁面
  

【正文】 ............................. 1 硬件環(huán)境 ..................................................... 1 軟件環(huán)境 ..................................................... 1 二、設(shè)計目的及要求 ................................................. 2 設(shè)計目的 ..................................................... 2 設(shè)計要求 ..................................................... 2 三、總體設(shè)計 ........................................................ 3 程序設(shè)計組成框圖 ............................................. 3 程序設(shè)計類圖 ................................................. 4 程序設(shè)計流程圖 ............................................... 5 四、詳細(xì)設(shè)計 ........................................................ 6 基本套接字系統(tǒng)調(diào)用 ........................................... 6 MySQL 數(shù)據(jù)庫在 Unix 的使用 ................................... 7 軟件包需要 ............................................. 7 MySQL 服務(wù)配置 ......................................... 8 MySQL 客戶端命令行工具 ................................. 8 客戶端命 令行 ........................................... 8 MySQL 開發(fā)接口 ......................................... 8 五、調(diào)試與測試 ..................................................... 10 調(diào)試方法 .................................................... 10 測試結(jié)果分析及討論 .......................................... 10 六、設(shè)計中遇到的問題及解決方法 .................................... 21 七、源程序清單 ..................................................... 22 數(shù)據(jù)庫代碼 .................................................. 22 服務(wù)器代碼 .................................................. 23 中間件程序 .................................................. 32 客戶端程序 .................................................. 35 八、心得體會 ....................................................... 56 九、參考文獻(xiàn) ....................................................... 57 1 一、 系統(tǒng)環(huán)境 硬件環(huán)境 Pentium( R) , 4 cpu , 512MB 內(nèi)存。 在很多 場合中間件部分是必須的,因?yàn)樵诓煌男袠I(yè)的網(wǎng)絡(luò)是不允許直通的。 中間件的環(huán)境可以是 Windows 系統(tǒng),也可以的 Linux 系統(tǒng)。其調(diào)用格式如下 : include sys/ int socket(int domain, int type, int protocol)。 addrlen=sizeof(my_addr). 【 3】監(jiān)聽連接 — listen() 此調(diào)用用于面向連接服務(wù)器 ,表明它愿意接收連接。 ② accept 服務(wù)器調(diào)用,從等待從編號為 s 的套接字上接受客戶連接請求 用法: int accept(int s, struct sockaddr *addr, socklen_t addrlen)。 recv/send 可由文件系統(tǒng)調(diào)用 read/write 所取代。提示符為“” ,可以使用的命令有: show databases / tables。 ◆ 連接數(shù)據(jù)庫 mysql_real_connect(amp。 //清理數(shù)據(jù) mysql_close(amp。其次原先若輸入比菜單中選項(xiàng)大的數(shù)字,系統(tǒng)沒有識別錯誤,繼續(xù)執(zhí)行。 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 )。 insert into reader values (00000,youke,123,1)。,amp。 j++。 char buf[256]。mysql)。 return 1。 } i=0。i++) { strcat(buf,)。 printf(n=%d\n,n)。amp。 int s,ns,pid。 } if((sp=getservbyname(service,tcp))==NULL){ fprintf(stderr,Error: getservbyname)。sin,sizeof(sin))==1){ fprintf(stderr,Error: bind)。 continue。 printf(Receive a client connect:\n)。 char rec[10][10][50]。 bzero(writer,sizeof(writer))。 printf(receive message:%s\n,buf)。 checkstat(rec[0][0])。q39。 } break。 opdb(cmd,buf,1)。: getm(buf,rec)。 } printf(Login\n)。 if(opdb(cmd,NULL,1)!=0) { printf(Have borrowed!\n)。 } sprintf(cmd,select * from books where 29 id=\%s\amp。 } printf(tmp=%s,%s\n,tmp[0][0],tmp[0][3])。 buf[0]=39。 case 39。 printf(buf=%s\n,buf)。: getm(buf,rec)。 buf[0]=39。 printf(One moretime request!\n)。 break。b_id=\%s\,rec[0][0],rec[0][1])。039。 if(opdb(cmd,buf,1)!=0) { 31 if(write(ns,buf,strlen(buf))=0) { printf(Write wrong!\n)。 exit(1)。 n=write(ns,buf,strlen(buf))。: getm(buf,rec)。 default: break。 char *sservice,*sdest。 sdest=argv[3]。 } 33 if((s=socket(AF_INET,SOCK。 fprintf(stderr,\t%s lservice dservice server_name!\n,argv[0])。 struct servent *sp。 exit(0)。 opdb(cmd,buf,0)。 break。 case 39。 } break。 exit(1)。 sprintf(cmd,update borrow set b_date=date_add(b_date,interval 30 day) where r_id=\%s\amp。 break。amp。 if(write(ns,buf,strlen(buf))=0){ printf(Write wrong!\n)。amp。 if(n=0) { printf(write error!\n)。: getm(buf,rec)。 buf[1]=39。 bzero(cmd,sizeof(cmd))。storage=\0\,rec[0][1])。139。 case 39。amp。 if((write(ns,buf,strlen(buf)))=0){ printf(Write socket error!\n)。l39。 printf(buf=%s\n,buf)。 n=opdb(cmd,buf,1)。 break。 bzero(tmp,sizeof(tmp))。 int n。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1