S模式數(shù)據(jù)通信軟件的開發(fā)_第1頁
S模式數(shù)據(jù)通信軟件的開發(fā)_第2頁
S模式數(shù)據(jù)通信軟件的開發(fā)_第3頁
S模式數(shù)據(jù)通信軟件的開發(fā)_第4頁
S模式數(shù)據(jù)通信軟件的開發(fā)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

精品文檔-下載后可編輯PB的C/S模式數(shù)據(jù)通信軟件的開發(fā)1客戶端服務(wù)器端網(wǎng)絡(luò)通信實現(xiàn)

目標(biāo)主機上程序代碼如下://定義全局變量winsockgs_wssocketdgramgs_udpintgi_port//定義目標(biāo)主機端口號//在open事件中創(chuàng)建winsock和數(shù)據(jù)報式套接口對象gs_ws=createwinsockgs_udp=createsocketdgram//通知套接字端口有請求事件發(fā)生gs_udp.wsaasyncselect(handle(parent),1025,gs_ws.fd_read+gs_ws.fd_write)//欲接收讀、寫準備好通知//綁定端口gs_udp.bind(0,gi_port)//綁定目標(biāo)主機端口號在調(diào)用wsaasyncselect后,窗口需處理消息,此處需為窗口定義一個新的自定義事件,事件的ID為pbm_custom02。該事件有兩個變量,wparam與lparam,變量類型分別為un-signedlong與long。//接收源主機發(fā)來的消息并發(fā)送消息至源主機,uPeerClient,i//ClientPort分別為源主機的IP地址與端口號gs_udp.recvfrom(ls_data,1024,0,uPeerClient,iClientPort)//接//收消息,消息存于ls_data變量中接收到消息后,程序可進行//其他操作處理,向源主機發(fā)送消息gs_udp.sendto(ls_data_return,len(string(ls_data_return)),0,u-PeerClient,iClientPort)//使用完成后,在close事件中關(guān)閉socket,釋放資源gs_udp.closesocket()destroygs_udpdestroygs_ws源主機上程序代碼如下://定義全局變量winsockgs_wssocketdgramgs_udpintgs_ip,gi_port//定義目標(biāo)主機的IP號與端口號//在open事件中創(chuàng)建winsock和數(shù)據(jù)報式套接口對象gs_ws=createwinsockgs_udp=createsocketdgram//通知套接字端口有請求事件發(fā)生gs_udp.wsaasyncselect(handle(parent),1025,gs_ws.fd_read+gs_ws.fd_write)//欲接收讀、寫準備好通知//在發(fā)送按鈕下寫發(fā)送程序代碼gs_udp.sendto(ls_data,len(string(ls_data)),0,gs_ws.Inet_addr(gs_ip),gi_port)//ls_data為發(fā)送的消息,其中Inet_addr將//IPv4格式轉(zhuǎn)換為無符號的長整型函數(shù),實現(xiàn)IP地址的轉(zhuǎn)換在調(diào)用wsaasyncselect后,窗口需處理消息,此處需為窗口定義一個新的自定義事件,事件的ID為pbm_custom02。在該事件中,有接收目標(biāo)主機消息程序代碼。gs_udp.recvfrom(ls_data_return,1024,0,uPeerClient,iClient-Port)//接收目標(biāo)主機發(fā)送的消息//使用完成后,在close事件中關(guān)閉socket,釋放資源gs_udp.closesocket()destroygs_udpdestroygs_ws

2主備服務(wù)器的數(shù)據(jù)庫同步備份

在軟件設(shè)計時,需要在任意時刻對數(shù)據(jù)庫進行備份和還原,其備份文件保存在管理員機端的相應(yīng)文件夾下。由于這種備份功能是由管理員的意愿進行備份,故每次備份時都將覆蓋上一次的備份文件,以保留管理員所希望的最新的備份文件。但是人工備份方式也有一些缺陷,它具有不可連續(xù)性操作,備份時間點不確定等缺點,而且當(dāng)主服務(wù)器上的數(shù)據(jù)庫遭到損壞、系統(tǒng)故障或服務(wù)器硬件故障等原因主服務(wù)器無法啟動時,也顯得束手無策,為此設(shè)計了一種基于PB的主備服務(wù)器的同時定時備份軟件。功能示意圖如圖2所示。該軟件工作時,將主服務(wù)器中的數(shù)據(jù)庫階段性的以備份文件(*.dat)的形式保存起來,當(dāng)出現(xiàn)數(shù)據(jù)無法使用或數(shù)據(jù)保存錯誤的情況時,可通過告知管理員,在主服務(wù)器上手動進行還原,將數(shù)據(jù)還原到自己所需要的時間點;或是通過服務(wù)器上的管理員端軟件對數(shù)據(jù)庫進行還原。當(dāng)主服務(wù)器關(guān)機時,管理員通過手動開啟備用服務(wù)器,仍可向用戶提供最后一次還原的時間點的數(shù)據(jù)。

2.1定時開機與關(guān)機功能(1)保證硬件連接:用網(wǎng)線將筆記本網(wǎng)口與備用服務(wù)器的管理口(SystemMGMT)相連。(2)設(shè)定筆記本與備用服務(wù)器的IP地址和子網(wǎng)掩碼,保證兩個地址在同一個網(wǎng)段。(3)在筆記本上打開IE瀏覽器(或其他瀏覽器),在網(wǎng)址中輸入:192.168.70.125(默認IMM的IP地址)(4)在彈出的頁面中,分別輸入用戶名:USERID,密碼:PASSW0RD(此處0為數(shù)字零)。(5)登錄后,點擊continue,選擇tasks下的Power/Restart,再選擇ScheduleDaily/WeeklyPowerandRestartActions,在這里設(shè)定時間并Save(此處選擇每天定時開機、關(guān)機)。注意:必須保證IMM時間與服務(wù)器時間相同,可在IMMControl下的SystemSettings中設(shè)置。

2.2主服務(wù)器軟件主服務(wù)器上開機時自動運行一個小程序,完成定時備份的功能。程序啟動后,一直監(jiān)測備用服務(wù)器的共享文件夾定時備份是否存在。若不存在,則將timebackup.ini文件中的backup置0;若存在則判斷timebackup.ini文件中的backup是否為0,若為0則為是第一次檢測到,隨后將backup置1,并備份主服務(wù)器中的test數(shù)據(jù)庫,將此文件拷貝至主服務(wù)器定時備份文件存放地址下(創(chuàng)建以備份時間命名的文件夾),以完成主服務(wù)器的定時備份;同時將此文件拷貝至備用服務(wù)器的共享文件夾下,并通過SQL語句將該備份還原至備用服務(wù)器,以完成備用服務(wù)器與主服務(wù)器的數(shù)據(jù)庫數(shù)據(jù)同步。

2.3備用服務(wù)器軟件同理,在備用服務(wù)器上也同時運行一個小程序,其功能是檢測備用服務(wù)器自身的共享文件夾中是否存在數(shù)據(jù)庫備份文件(.dat),此備份文件為主服務(wù)器數(shù)據(jù)庫最近一個時間點的備份文件。若存在則將該備份文件拷貝至備用服務(wù)器文件夾下(創(chuàng)建以備份時間命名的文件夾)。這樣,只要管理員打開備用服務(wù)器,鍵入密碼進入桌面,即可將主服務(wù)器數(shù)據(jù)庫最新的備份文件拷貝一份至備用服務(wù)器存儲起來,對數(shù)據(jù)庫的數(shù)據(jù)又加了一層保護。由于服務(wù)器程序是以備用服務(wù)器的共享文件夾是否存在為基礎(chǔ)的,與時間無關(guān),因此這兩套程序不受定時開機、關(guān)機的時間的約束,即可以隨意更改定時開機、關(guān)機的時間,以滿足工作的需要。又因與時間無關(guān),當(dāng)管理員在任意時間點打開備用服務(wù)器時,這兩套程序仍然正常運行,即也會設(shè)立一個新的時間點進行備份(此操作不影響當(dāng)天的定時備份環(huán)節(jié)),這樣也間接地完成了不定時備份功能。

3結(jié)語

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論