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

正文內(nèi)容

基于c的短信收發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-在線瀏覽

2024-07-30 12:33本頁面
  

【正文】 ,應(yīng)用的是linux下C語言和腳本語言shell來共同完成的。 (2)開發(fā)硬件平臺(tái):一部有redhat虛擬機(jī)的windows系統(tǒng)的個(gè)人pc。3短息收發(fā)系統(tǒng)分析 需求分析 Client端需求,本短信收發(fā)系統(tǒng)是基于linux C來實(shí)現(xiàn)的,其中客戶端的需求是:client端可以實(shí)現(xiàn)同號(hào)碼段的client端進(jìn)行通信,還可以和不同號(hào)碼段的client進(jìn)行通信。Sonsever需求,二級(jí)服務(wù)器需要可以實(shí)現(xiàn)同號(hào)碼段client信息的轉(zhuǎn)發(fā),當(dāng)收到不是自己號(hào)碼段的client信息時(shí),需要把信息轉(zhuǎn)發(fā)給一級(jí)服務(wù)器,然后通過一級(jí)服務(wù)把信息轉(zhuǎn)發(fā)給client所在的二級(jí)服務(wù)器,這樣來實(shí)現(xiàn)不同號(hào)碼段client端的信息之間的交互。 可行性分析 技術(shù)可行性 本系統(tǒng)是基于linux C語言下來實(shí)現(xiàn)短信的收發(fā),其中主要應(yīng)用到了網(wǎng)絡(luò)編程TCP進(jìn)行連接,還有GSM短信協(xié)議來實(shí)現(xiàn)短信的正確收發(fā),當(dāng)每連接一個(gè)client端時(shí)就啟用一個(gè)線程來服務(wù)這個(gè)client,最后使用腳本shell來優(yōu)化后面的運(yùn)行步驟。 操作可行性本系統(tǒng)在使用時(shí)需要在linux系統(tǒng)中開一個(gè)終端來連接自己號(hào)碼所在的二級(jí)服務(wù)上,因?yàn)闀r(shí)間的緣故并沒有對(duì)界面進(jìn)行優(yōu)化,在操作上可能沒有那么的簡潔和方便。 fatherserver一級(jí): Sonserver3 Sonserver2 Sonserver1二級(jí): 圖3二級(jí)服務(wù)器模擬圖 如圖3所示是兩個(gè)服務(wù)器的示意圖(一級(jí)和二級(jí)server),一級(jí)服務(wù)器和二級(jí)服務(wù)之間采用的是TCP連接,TCP是面向連接的可靠的傳輸[9],確保信息能夠準(zhǔn)確無誤的傳輸給接收者,當(dāng)每一個(gè)二級(jí)服務(wù)器連接一級(jí)服務(wù)器時(shí),一級(jí)服務(wù)器多會(huì)開辟一個(gè)線程去服務(wù)二級(jí)服務(wù)器,并且用數(shù)組存放二級(jí)服務(wù)器連接時(shí)返回的fd和二級(jí)服務(wù)器所代表的號(hào)碼段,這可以確保信息所對(duì)應(yīng)的的服務(wù)器并且能夠讓信息正確的轉(zhuǎn)發(fā)。fatherserver N 轉(zhuǎn)發(fā) TCP連接 TCP連接 TCP連接 Sonserver1 Sonserver2是否在? Y 查詢 TCP連接 轉(zhuǎn)發(fā) 轉(zhuǎn)發(fā) Client1 Client2 Client3 信息 是否send? Y N 收信箱 發(fā)信箱 草稿箱 收信箱 圖5系統(tǒng)工作流程圖如圖5所示是系統(tǒng)大致的框架和功能示意圖。Client把信息發(fā)給自己號(hào)碼所在的二級(jí)服務(wù)器時(shí),二級(jí)服務(wù)器就會(huì)檢查要發(fā)送至的號(hào)碼是否是自己管理的號(hào)碼段,如果是自己就把信息轉(zhuǎn)發(fā)給本號(hào)碼段的client,如果不是自己號(hào)碼段的client就把信息轉(zhuǎn)發(fā)給一級(jí)服務(wù)器讓一級(jí)服務(wù)器進(jìn)行處理,一級(jí)服務(wù)器收到信息時(shí)就會(huì)檢查信息的號(hào)碼在哪個(gè)二級(jí)服務(wù)器所管理的號(hào)碼段,然后把信息轉(zhuǎn)發(fā)給對(duì)應(yīng)的二級(jí)服務(wù)器,最后二級(jí)服務(wù)器把信息轉(zhuǎn)發(fā)給對(duì)應(yīng)的client,當(dāng)client端收到信息時(shí)就會(huì)打印出信息的內(nèi)容并把信息保存在收信箱中。每連接一個(gè)二級(jí)服務(wù)器多會(huì)返回一個(gè)fd和它所對(duì)應(yīng)的號(hào)碼段,然后把這些數(shù)據(jù)保存在一個(gè)數(shù)組里面,供后面信息的匹配和查詢。strcpy(,buf)。 all_address[geshu].fd = cfd。每連接一個(gè)二級(jí)服務(wù)器多會(huì)創(chuàng)建一個(gè)線程去服務(wù)它,并且要把連接上二級(jí)服務(wù)器數(shù)加1,和線程數(shù)匹配起來。 pthread_create(amp。client)。這是處理來自二級(jí)服務(wù)器的轉(zhuǎn)發(fā)請求,通多號(hào)碼段的匹配吧信息轉(zhuǎn)發(fā)給對(duì)應(yīng)的二級(jí)服務(wù)器上,實(shí)現(xiàn)信息的交互。i geshu。send_msg,sizeof(send_msg),0)。二級(jí)服務(wù)器需要綁定兩個(gè)socket進(jìn)行通信,一個(gè)是和一級(jí)服務(wù)器進(jìn)行通信,另一個(gè)是和client端進(jìn)行通信。SPORT = atoi(argv[2])。 sfd = socket(AF_INET,SOCK_STREAM,0)。 close(myfd)。 }下面的代碼主要是綁定自己的地址用于和client端之間的通信,首先要確定協(xié)議類型AF_INET是TCP,然后綁定自己的端口號(hào)和IP地址,最后用ACCEPT()函數(shù)阻塞在那里等待著client端的連接,經(jīng)過三次握手后就可以進(jìn)行通信了。 = htons(SPORT)。 bzero(amp。SPORT = atoi(argv[4])。 if(1 == myfd) { printf(socket create fail\n)。 } = AF_INET。 = inet_addr(argv[1])。(),8)。 n = bind(myfd,(struct sockaddr *)amp。當(dāng)用戶不在數(shù)組里的時(shí)候,信息就會(huì)自動(dòng)的丟棄了,并提示找不到用戶。i geshu。 strcpy(ss,)。 strcpy(,)。 send([i].fd,amp。 printf(\n***send to %s clieant from %s client siccess****\n,ss,)。 } else if( i == geshu) { printf(can not find\n)。 msg one_scli。 printf(\n***zhuan fa to %s server ****\n,)。send_msg,sizeof(deliver),0)。并且還提供信息的查詢,可以查詢收信箱,發(fā)信箱和草稿箱的信息。 memset(amp。 fflush(stdin)。 scanf(%s,cli_num)。 scanf(%s,cli_msg)。 scanf(%s,ch)。send_msg,cli_num,cli_msg)。send_msg,sizeof(submit),0)。 printf(**********send success************\n)。 } } else if(strcmp(ch,n) == 0) { staff_save_(cli_num,cli_msg,argv[6])。 } break。 recv_print_(argv[4])。 case 3: printf(\n*****************finishmessage***************\n\n)。 break。 staff_print_(argv[6])。 case 5: return。} 圖10客戶端運(yùn)行圖如圖10所示是在client端發(fā)送信息時(shí)提示用戶是否發(fā)送信息,不發(fā)送的話系統(tǒng)就會(huì)調(diào)用staff_save_(cli_num,cli_msg,argv[6])函數(shù)把信息
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1