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

正文內(nèi)容

局域網(wǎng)監(jiān)控系統(tǒng)設計與利用畢業(yè)論文(編輯修改稿)

2025-07-24 21:37 本頁面
 

【文章內(nèi)容簡介】 數(shù)據(jù)傳輸?shù)椒掌?,需要利用套接字函?shù)發(fā)送數(shù)據(jù)。在Visual C++中,為了使用套接字函數(shù),首先需要引用相應的頭文件和庫文件。代碼如下:include “”pragma ment(lib,””)然后在應用程序初始化時調(diào)用WSAStartup函數(shù)初始化套接字。代碼如下:WSADATA data。WSAStartup(2,amp。data)。 在套接字創(chuàng)建成功后,可以調(diào)用sendto方法發(fā)送數(shù)據(jù)。代碼如下:Sendto(m_Socket,pPackage,packsize,(),(sockaddr*)amp。addr,sizeof(addr))。 系統(tǒng)登錄模塊分析為了驗證用戶輸入的用戶名稱和密碼是否正確,需要根據(jù)用戶輸入的用戶名稱和密碼從數(shù)據(jù)庫中查詢用戶信息,如果有信息返回,表明用戶名稱和密碼正確;否則不正確。程序中使用了ADO Command對象執(zhí)行查詢操作。在使用ADO Command對象時,首先需要設置ActiveConnection屬性,該屬性關聯(lián)一個ADO Connection對象,然后設置CommandText屬性,該屬性標示ADO Command 對象將要執(zhí)行的SQL語句。如果SQL語句中有參數(shù),還需要調(diào)用Parameters屬性的Append方法插入?yún)?shù),最后調(diào)用ADOCommand對象的Execute方法執(zhí)行SQL語句。 主窗體運行分析主窗體需要接收客戶端傳來的數(shù)據(jù),并且向客戶端發(fā)送確認信息。這個需要使用相關Windows套接字函數(shù)進行數(shù)據(jù)的接收和發(fā)送。(1)socket函數(shù)Socket函數(shù)用于創(chuàng)建一個套接字。函數(shù)語法如下:SOCKET socket(int af,int tupe,int protocol)。(2)bind函數(shù) Bind函數(shù)用于將套接字綁定到一個已知的地址上。函數(shù)語法如下:Int bind(SOCKET s,const struct sockaddr FAR* name,int namelen)。(3)recvfrom函數(shù) recvfrom函數(shù)用于讀取套接字數(shù)據(jù)。函數(shù)語法如下:recvfrom(SOCKET s,char FAR*buf,int len,int flags,struct sockaddr FAR*from,int FAR*fromlen);(4)sendto Sendto函數(shù)用于向指定地址發(fā)送數(shù)據(jù)。函數(shù)語法如下: Sendto(SOCKET s,const char FAR*buf,int len,int flags,const struct sockaddr FAR*to,int tolen)。char*buffer=new char[MAX_BUFF]。 //定義接收緩沖區(qū)sockaddr_in addr。 //定義網(wǎng)絡地址int factsize=sizeof(sockaddr)。 //確定定網(wǎng)絡地址大小int ret=recvfrom(m_Socket,buffer,MAX_BUFF,0,(sockaddr*)amp。addr,amp。factsize)。 //接收數(shù)據(jù) 操作員管理模塊分析操作員管理模塊主要實現(xiàn)操作員信息的添加、修改、刪除。為了方便用戶進行添加、修改、刪除操作,在操作員管理窗口顯示時會將操作員信息以表格形式顯示出來。這里的表格使用的是MFC提供的CListCtrl類。(1)SetExtendedStyle方法SetExtendedStyle方法用于設置CListCtrl類的擴展風格。語法如下:DWORD SetExtendedStyle(DWORD dwNewStyle)。(2)DeleteAllItems方法DeleteAllItems方法用于刪除列表控件中的所有項目。語法如下:BOOL DeleteAllItems()(3)InsertItem方法InserItem方法用于向類表控件中添加項目。如果列表控件為Report風格,將向列表控件中添加一行。語法如下:Int InsertItem(int nItem,LPCTSTR lpszItem)。(4) InsertColumn方法InsertColumn方法用于向列邊控件中添加列。語法如下:int InsertColumn(int nCol,LPCTSTR lpszColumnHeading,int nFormat=LVCFMT_LEFT),int nWidth= nSubItem=1)。(5)SetItemText方法SetItemText方法用于設置類表空間項目及子項目文件。語法如下:BOOL SetItem Text(int nItem,int nSubItem,LPCTSTR lpszTsxt)。(6)SetImageList方法 SetImageList方法用于設置列表控件關聯(lián)的圖像列表控件。CImageList*SetImageList(CImageList*pImageList,int nImageListType)。 系統(tǒng)設置模塊分析系統(tǒng)設置模塊為了方便用戶錄入IP地址,使用CIPAddressCtrl控件,該控件專用于IP地址的輸入。(1)ClearAddress方法ClearAddress方法用于清空控件中的內(nèi)容。語法如下:void ClearAddress()。(2)GetAddress方法GetAddress方法用于獲取IP地址各個字段的值。語法如下:int GetAddress(BYTEamp。 nField0,BYTEamp。 nField0,BYTEamp。nFieldl,BYTEamp。nField2,BYTEamp。 nField3)。(3)IsBlank方法IsBlank方法用于判斷IP地址的所有字段是否為空,如果所有字段為空,返回TRUE,否則返回FALSE。語法如下:BOOL IsBlank()const。(4)SetAddress方法SetAddress方法用于設置IP地址。Viod SetAddress(BYTE nField0,BYTE nFieldl,BYTE nField2,BYTE nField3)。(5)SetFieldFocus方法SetFieldFocus方法用于將某個IP地址字段獲得焦點。語法如下:void SetFieldFocus(WORD nField)。(6)SetieldRange方法SetieldRange方法用于設置某個IP地址字段的范圍。語法如下:void SetFieldRange(int nField,BYTE nLower,BYTE nUpper)。4 詳細設計 客戶端設計 客戶端實現(xiàn)過程 客戶端的主要功能是抓取屏幕信息,將其發(fā)送到服務器。具體實現(xiàn)過程如下:(1)創(chuàng)建一個基于對話框的工程,工程名稱為Client。(2)。include “”pragma ment(lib,””)(3)在應用程序類的InitInstance方法中初始化套接字。WSADATA data。WSAStartup(2,amp。data)。(4)改寫應用程序的虛方法ExitInstance,清理套接字資源。int CClientApp::ExitInstance(){WSACleanup()。Return CWinApp::ExitInstance()。}(5)在對話框類中添加成員變量。(6)自定義一個消息,在套接字接收到數(shù)據(jù)時發(fā)送到主窗口中、定義每個數(shù)據(jù)報中包含位圖數(shù)據(jù)的大小。define CM_RECEIVED WM_USER+2define GraphSize 1024(7)在對話框初始化時創(chuàng)建套接字,將其綁定到指定的位置,并初始化相應的成員變量。(8)在對話框類中添加一個SendData方法,用于向指定的地址發(fā)送數(shù)據(jù)。(9)想對話框中添加OnReceived方法,用于接收服務器端發(fā)來的確認信息或控制信息。(10)向對話框中添加消息映射宏,將CM_RECEIVED消息與OnReceived方法關聯(lián)。(11)處理對話框WM_TIMER消息,在發(fā)送數(shù)據(jù),如果5秒內(nèi)沒有收到服務器端的確認信息,發(fā)起當前位圖的發(fā)送,重新抓取屏幕位圖發(fā)送。(12)處理對話框的OnOK方法,將屏幕信息轉換為位圖信息,劃分數(shù)據(jù)報的格式,計算每一個位圖信息需要發(fā)送多少次數(shù)據(jù)報,調(diào)用SendData方法發(fā)送數(shù)據(jù)??蛻舳嗽O計界面如圖6所示。圖6 客戶端界面設計 系統(tǒng)登錄模塊設計 系統(tǒng)登錄模塊實現(xiàn)過程(1)創(chuàng)建一個對話框,在對話框中添加1個圖像控件、2個標簽、2個文本框和2個按鈕控件,設置控件主要屬性如表2所示。表2 系統(tǒng)登錄窗體用到的主要控件控件資源ID主要屬性設置用 途IDC_USERNAME無輸入登錄用戶名IDC_PASSWORDPassword屬性為TRUE輸入登錄用戶密碼(2)按Ctrl+W組合鍵打開MFC ClassWizard對話框,選擇Member Variables選項卡,為控件命名。(3)修改對話框類的PreTranslateMessage虛方法,當文本框獲得焦點時,按Enter鍵將控制焦點移動。(4)處理“登錄”按鈕的單擊事件,驗證用戶名和密碼是否正確。如果用戶名和密碼正確,關閉對話框并返回IDOK。(5)處理“取消”按鈕的單擊事件,以IDCANCEL標示結束對話框。Void CLogin::OnBtCancle(){EndDialog(IDCANCEL)。}系統(tǒng)登錄模塊設計界面如圖7所示。圖7 系統(tǒng)登錄界面設計 主窗體設計 主窗體實現(xiàn)過程(1)創(chuàng)建一個基于對話框的工程,默認情況下將創(chuàng)建一個對話框,該對話框將成為應用程序的主窗體。(2)向對話框中添加8個按鈕控件、2個群組框控件、1個圖像控件,設置控件屬性如表3所示。表3主窗體用到的主要控件控件資源ID主要屬性設置用 途IDC_BACKGROUNDType屬性為Frane Border屬性為TRUE顯示圖像信息IDC_SYSSETTINGCaption屬性為系統(tǒng)設置Owner draw屬性為TRUE調(diào)用系統(tǒng)設置對話框(3)向對話框類中添加成員變量。SOCKET m_Soxket 。 //定義套接字char* m_BmpData。 //位圖數(shù)據(jù)指針char* m_TempData。 //臨時數(shù)據(jù)指針char* m_Header。 //臨時指針BOOL m_ShowBmp。 //是否顯示位圖int m_BmpSize。 //記錄位圖大小int m_RecSize。 //實際接收的大小CString m_ClientIP。 //客戶端IPUINT m_ClientPort。 //客戶端端口WORD m_LeftTopX。 //位圖在屏幕中的X軸坐標WORD m_LeftTOPY。 //位圖在屏幕中的Y軸坐標(4)自定義一個消息,用于在套接字有數(shù)據(jù)接收時發(fā)送到主窗口中。define CM_RECEIVED WM_USER+1001(5)向對話框中添加ShowImage方法,顯示位圖數(shù)據(jù)。(6)向對話框中添加OnReceived方法,用于接收客戶端發(fā)來的數(shù)據(jù)。在數(shù)據(jù)接收后,想客戶端發(fā)送確認信息。(7)在對話框的消息映射部分手動添加一個消息映射,用于將CM_RECEIVED與OnReceived方法關聯(lián)。ON_MESSAGE(CM_RECEIVED,OnReceived)(8)向對話框中添加OnButtonDown方法,用于向客戶端發(fā)送控制指令。(9) 在對話框的消息映射部分添加一個ON_COMMAND_RANGE消息映射宏,用以處理按鈕的單擊事件。ON_COMMAND_RANGE(IDC_BTUP,IDC_BTUP,IDC_BTRESTORE,OnButtonDown)(10)在對話框初始化時創(chuàng)建并綁定套接字,從數(shù)據(jù)庫中讀取客戶端IP。(11)處理對話框的OnCancel方法,在對話框關閉時釋放分配的內(nèi)存,防止內(nèi)存泄露。Void CServerDlg::OnCancel(){m_BmpData=m_Header。 //將緩沖區(qū)指針指向緩沖區(qū)的開始位置delete[]m_BmpData。 //釋放緩沖區(qū) delete[]m_TempData。 //釋放臨時緩沖區(qū)CDialog::OnCancel()。 //調(diào)用父類的OnCancel方法關閉對話框}
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1