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

正文內(nèi)容

基于vc的企業(yè)內(nèi)部通信軟件的設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)優(yōu)秀畢業(yè)論文(更新版)

2024-08-01 18:49上一頁面

下一頁面
  

【正文】 FLINE的網(wǎng)絡(luò)消息時,得到發(fā)送此消息的IP,然后從好友數(shù)據(jù)和好友列表框中刪除與此IP相等的好友。向?qū)Ψ桨l(fā)起請求后,對方的m_pLisSocket就會調(diào)用OnReceive()函數(shù),程序中重載了CListeningSocket類的OnReceive()函數(shù),在OnReceive()中調(diào)用主對對話框的OnListeningReceive()函數(shù)來接收網(wǎng)絡(luò)數(shù)據(jù)。memcpy( pSendData, amp。 = REQUEST_ADD。雙緩沖技術(shù),就是先創(chuàng)建一個與目標(biāo)設(shè)備兼容的內(nèi)存設(shè)備上下文,在內(nèi)存設(shè)置上下文中畫圖或進(jìn)行其他處理,操作完成了,再一并把內(nèi)存設(shè)備上下文的內(nèi)容貼到目標(biāo)設(shè)備上,這樣就可以有效的防止閃爍。},表示好友列表框每項(xiàng)的高度。定義的成員變量如下:CInstantMessagingDlg *m_pMainDlg。 }}DrawNORMAL() 、DrawHOVER ()、DrawDOWN() 、DrawDISABLE()分別畫按鈕的4種狀態(tài)。 break。::_TrackMouseEvent( amp。 CString strText。4個CBitmap的變量分別存儲4種狀態(tài)下的圖像。圖42 設(shè)置對話框最后一項(xiàng)“允許別人直接將我加為聯(lián)系”的意思是別人添加我為好友時,不會彈出請求對話框而直接加為好友。用戶列表框是一列一列的顯示添加的好友,最左邊是好友的頭像;中部上邊是好友的昵稱,下面是好友的IP;右下角是刪除好友按鈕和攝像頭按鈕,當(dāng)然好友必須有攝像頭才會顯示攝像頭按鈕。}以上代碼在程序退出時調(diào)用,從托盤從刪除圖標(biāo)。這樣我們就在托盤區(qū)顯示了STATE_ONLINE的圖標(biāo),把鼠標(biāo)移動到圖標(biāo)上一會,還會出現(xiàn)“即時聊天軟件”的提示框。 = m_hWnd。void CInstantMessagingDlg::OnSysCommand(UINT nID, LPARAM lParam){ …if( nID == SC_MINIMIZE ) { thisShowWindow( SW_HIDE)。使用全局函數(shù)RegisterHotKey可以注冊熱鍵,如果注冊的熱鍵沒有被其他程序占用,那么注冊成功。這樣,主界面就不會出現(xiàn)在任務(wù)欄里面了。( SW_HIDE )。 TRACE( strTrace )。 virtual ~CDebug()?!』究蚣茉O(shè)計(jì)本節(jié)內(nèi)容將介紹本軟件的基本框架設(shè)計(jì),包括宏和數(shù)據(jù)結(jié)構(gòu)的定義、程序的配置文件、調(diào)試模塊、主頁面初始化相關(guān)內(nèi)容、主頁面的布局以及其自會按鈕和自繪好友列表等基本框架相關(guān)內(nèi)容。(2) 聊天室模塊:多個用戶端的基本聊天信息的發(fā)送,聊天信息只能是文本信息。第4章 軟件系統(tǒng)設(shè)計(jì)本章將從兩個方面介紹本系統(tǒng)的設(shè)計(jì)。在本地局域網(wǎng)中使用,所以無需進(jìn)行用戶登錄,無需認(rèn)證界面,啟動后的應(yīng)用界面要清爽,設(shè)計(jì)要簡單明了,要具有較高的易用性。(4)其它程序內(nèi)部可能需要設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)體。通過聊天室滿足交流討論,通過白板讓發(fā)起者將想要表達(dá)的內(nèi)容,清楚的給目標(biāo)對象呈現(xiàn)出來。用戶通過輸入IP來查找用戶,并申請加為好友,在對方同意加為好友后,在線用戶列表就會更新用戶,把加入的用戶添加到用戶列表中。在TCP/IP協(xié)議組件中,有兩個互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報(bào)協(xié)議)。這個協(xié)議作為網(wǎng)絡(luò)中使用的基本協(xié)議,是Internet國際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)。 當(dāng)然,也可將通信模塊函數(shù)化,并形成一個動態(tài)連接庫文件(DLL文件),供主程序調(diào)用。 (4)產(chǎn)生一個CSocketFile對象,并把它與CSocket 對象關(guān)聯(lián)起來。以下介紹的針對字節(jié)流型套接字的操作步驟中,只有第三步對于客戶方和服務(wù)方操作是不同的,其他步驟都相同。Visual C++ (MFC,即Microsoft Foundation Class)庫是一系列C++類,其中封裝著為Microsoft Windows操作系統(tǒng)系列編寫應(yīng)用程序的各種功能 。Windows Sockets API是Microsoft Windows的網(wǎng)絡(luò)程序設(shè)計(jì)接口,它在繼承了Berkeley Sockets主要特征的基礎(chǔ)上,又對它進(jìn)行了重要擴(kuò)充。因?yàn)樵诳傮w上,MFC框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個輪廓。使用Vissual C++可以完成任何C語言和C++語言的程序。由于公眾信息網(wǎng)是對整個社會開放的公眾基礎(chǔ)網(wǎng)絡(luò),具有覆蓋性范圍廣、速度快、費(fèi)用低、使用方便等特點(diǎn),但同時卻存在著安全性差的問題。鑒于此種情況,很多公司都在開發(fā)新的即時通訊工具軟件,利用新的技術(shù)開發(fā),使客戶端和服務(wù)器端的性能和功能都得到一定的提升,適合在企業(yè)內(nèi)部網(wǎng)絡(luò)和互聯(lián)網(wǎng)上運(yùn)行,同時使其具備跨平臺的特性,方便在各個系統(tǒng)上運(yùn)行。這種通信軟件是專為局域網(wǎng)通信而開發(fā)的,它適用于局域網(wǎng),同時也促進(jìn)了局域網(wǎng)的發(fā)展,局域網(wǎng)發(fā)展又給通信軟件帶來了更多應(yīng)用的機(jī)會,可以說,局域網(wǎng)通信工具和局域網(wǎng)二者之間相輔相成,相互促進(jìn)。關(guān)鍵字 : UDP;VC++;WINSOCK;網(wǎng)絡(luò)通信 AbstractThe early 80s, the . government39。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展及人們生活的需求,網(wǎng)絡(luò)通信已越來越受到人們的親睞。今天,SOCKET接口是TCP/IP網(wǎng)絡(luò)最為通用的API,也是在INTERNET上進(jìn)行應(yīng)用開發(fā)最為通用的API。通過測試,本軟件操作簡單,靈活性好,運(yùn)行也比較穩(wěn)定,可以廣泛使用。然而,任何企業(yè)的內(nèi)部都是離不開通訊的,所以企業(yè)內(nèi)部通信軟件就應(yīng)運(yùn)而生了。目前,windows平臺方面的即時通訊軟件已經(jīng)很多,但是其他系統(tǒng)的比較少,例如Linux平臺,雖然有類似方面的一些產(chǎn)品,比如Linux、Lunaqq,但是數(shù)量畢竟不多且功能界面等都還不太理想;面向企業(yè)的即時通訊軟件雖然比較多,但是除了、微軟等公司的產(chǎn)品,其他的產(chǎn)品都還比較年輕,推出時間較短,且用戶較少。 課題研究內(nèi)容及意義為了保障通信安全,建設(shè)內(nèi)網(wǎng)、專網(wǎng)是一個解決這一問題的方法,隨著企業(yè)業(yè)務(wù)范圍的不斷擴(kuò)大,網(wǎng)絡(luò)規(guī)模也在擴(kuò)大,采用該方案的話,成本必然非常高。他是一款面向?qū)ο蟮墓δ軓?qiáng)大的可視化編程開發(fā)工具。MFC中的各種類結(jié)合起來構(gòu)成了一個應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來建立Windows下的應(yīng)用程序,這是一種相對SDK來事更為簡單的方法。90年代初,由Sun Microsystems,JSB Corporation,F(xiàn)TP software,Microdyne和Microsoft等幾家公司共同制定了一套標(biāo)準(zhǔn),即Windows Sockets規(guī)范。Visual C++ XP或Windows 7環(huán)境下運(yùn)行,其開發(fā)系統(tǒng)增加了全面集成的基于Windows 的開發(fā)工具以及一個基于傳統(tǒng)C/C++開發(fā)過程的“可視化”用戶界面驅(qū)動模型?!Socket類編程模型使用CSocket對象涉及CArchive和CSocketFile 類對象。請注意Accept()成員函數(shù)需要一個新的并且為空的CSocket對象作為它的參數(shù),解釋同上。在單獨(dú)調(diào)試網(wǎng)絡(luò)通信程序時,要盡量與采用該通信模塊的其它應(yīng)用程序開發(fā)者約定好,統(tǒng)一采用一種界面形式,即單文檔界面SDI、多文檔界面MDI和基于對話框界面中的一種(這在使用AppWizard形成項(xiàng)目[Project]文件時有提示),盡管這并非必須,但可使通信模塊在移植到所需的應(yīng)用程序時省時省力,因?yàn)閂isual C++ ,也給我們帶來某些不便,譬如所形成的項(xiàng)目文件中的許多相關(guān)文件與所采用的界面形式密切聯(lián)系,許多消息驅(qū)動功能,隨所采用的界面形式不同而各異。 TCP/IP協(xié)議概述TCP/IP協(xié)議(Transfer Control Protocol/Internet Protocol)指傳輸控制/網(wǎng)絡(luò)協(xié)議,又叫網(wǎng)絡(luò)通訊協(xié)議。(3)運(yùn)輸層,為兩臺主機(jī)上的應(yīng)用程序提供點(diǎn)對點(diǎn)活端到端的通信。文本和圖片聊天是聊天軟件最基礎(chǔ)的功能。(3)用戶端之間白板和聊天室的功能,這個功能有些類似遠(yuǎn)程會議內(nèi)容的傳輸,研究目的是為了滿足企業(yè)內(nèi)部隨時性小會議室的要求。包括客戶端剛剛啟動時的初始化信息和在使用過程中的確認(rèn)在線信息?!∵\(yùn)行需求分析(1)用戶界面程序較小,啟動速度快,無啟動界面。 運(yùn)行可行性分析 本軟件為一個小型的基于局域網(wǎng)的通信軟件,所耗費(fèi)的資源是非常小的,現(xiàn)在一般的電腦無論是硬件還是軟件都能夠滿足條件,因此,本軟件在運(yùn)行上是可行的。本模塊目的是為兩個用戶提供基本的聊天環(huán)境。(5)用戶之間后臺的連接,每個用戶隔指定一段時間會向用戶列表中的每一用戶發(fā)送消息,查看用戶是否在線,如果不在線,就更新用戶列表,刪除用戶。 CDebug( CString strMessage )。 strTrace = run out : + m_strMessage + \n。( IDD_DIALOG_BG )。首先,我們創(chuàng)建一個對話框,并隱藏此對放框,然后把這個對話框作為主界面對話框的父窗口,然后在主界面對話框的初始化函數(shù)中修改其風(fēng)格,去掉WS_EX_APPWINDOW風(fēng)格。::RegisterHotKey( m_hWnd, IDHOTKEY, m_wModifiers, m_wVirtualKeyCode )。(4)最小化和關(guān)閉按鈕的處理我們希望單擊程序右上角的最小化按鈕時,程序隱藏起來,而單擊關(guān)閉按鈕時,程序會提示是否退出,而不會悄無聲息的退出。 = hIcon。m_nid )。 CDialog::OnDestroy()。圖41 主界面左上角顯示的是自己的頭像、狀態(tài)和昵稱;右上角的列表框是查找IP輸入框,下面是添加按鈕;在下面一點(diǎn)的列表框是自己的址列表框,顯示了自己的所有IP;主界面中央是用戶列表框;最下面是4個功能按鈕。在主界面任何地點(diǎn)單擊左鍵不放開,可以拖動程序;單擊右鍵,會彈出菜單,用戶選中相應(yīng)的菜單項(xiàng),可以執(zhí)行相應(yīng)的功能;在任何地點(diǎn)雙擊左鍵,可以打開“個人設(shè)置”對話框,如圖42所示。在程序的主界面上,主要的按鈕都采用了自繪按鈕,而不使用自帶的按鈕控件。 /// 提示類m_nState表示當(dāng)前按鈕的狀態(tài),可以為宏:NORMAL,HOVER,DOWN,DISABLE,分別表示按鈕正常狀態(tài)、處于焦點(diǎn)狀態(tài)、按下狀態(tài)、無效狀態(tài),這4個宏的定義在實(shí)現(xiàn)文件。 ( 100 )。 = TME_LEAVE。 } switch( m_nState ) { case NORMAL: DrawNORMAL()。 default: break。}重載MeasureItem()函數(shù)更改列表框每一項(xiàng)的高度:void CFriendsListCtrl::MeasureItem( LPMEASUREITEMSTRUCT lpMeasureItemStruct ){lpMeasureItemStructitemHeight = DEFAULT_FRIENDSLIST_HEIGHT。在自繪時,為了防止閃爍,程序用到了雙緩沖技術(shù)。如果可以添加此好友,則向此好友發(fā)起請求加為好友的請求:/// 定義數(shù)據(jù)包DATAPACKET dataPacket。BYTE *pSendData = new BYTE[ uDataLength ]。向好友發(fā)起請求的數(shù)據(jù)中,還包括自己的USER數(shù)據(jù)。收到請求是否允許將好友添加到數(shù)組和列表框中并發(fā)送允許消息發(fā)送拒絕消息TF圖44 好友收到請求流程圖 刪除好友刪除好友比較簡單,在服務(wù)器端向要刪除的好友發(fā)送命令為OFFLINE的消息,然后從好友數(shù)組和好友列表框中刪除此好友。在OnTimer()函數(shù)中進(jìn)行如下處理:/// 保持接連if( TIMER_CONNECT == nIDEvent ) { /// 刪除沒有回應(yīng)的聯(lián)系人 for( int nIndex = 0。 nIndex ()。 m_pLisSocketSendTo( pSendData, uDataLength, DEFAULT_PORT, )。hKey ) != ERROR_SUCCESS ) { HINSTANCE hLib = LoadLibrary( )。CRichText m_rtSend。 ( %s(%s) %s\r\n , , , szTime )。所以在發(fā)送這種大數(shù)據(jù)量的消息時,本程序采用的分包發(fā)送的方式。聊天對話框發(fā)送消息時調(diào)用主對話框的SendPreChatMessage()函數(shù),這個函數(shù)并不是一下子將消息發(fā)送出去,而是將消息保存起來,只發(fā)送一個通知消息告訴對方有數(shù)據(jù)需要發(fā)送,這個通知消息中帶有消息的時間的消息的長度。勾選上“關(guān)閉時保存聊天記錄”,關(guān)閉聊天對話框會聊天記錄會自動保存在形如“()”的文件中,文件名由聊天開始時間、IP、昵稱組成。這也是聊天室的一個好處。單擊向下的按鈕,會刪除聊天室好友列表框中選定的好友,并向他們發(fā)送被踢出聊天室的消息:SendUserCommandToIP( CHATROOM_CLIENT_KICKED, , CHATRO OM_CLIENT_PORT, NULL )。在服務(wù)器創(chuàng)建的時候,限制過發(fā)送文本框的字?jǐn)?shù):( MAXDATAPACKETLENGTH sizeof( DATAPACKET ) sizeof( CHATROOMMESSAGEINFO ) )。 if( 0 == strcmp( , ) ) { continue??蛻舳岁P(guān)閉時,會向服務(wù)器發(fā)送客戶端關(guān)閉的消息。一個線程負(fù)責(zé)將一個文件傳送給一個好友。 m_pSFServerSocketAccept( sfSocket )。在線程中也有一個CSendFilesSocket類型的成員變量,將這兒的sfSocket分離掉套接字句柄,附加到線程中的相同類型的成員
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1