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

正文內(nèi)容

基于mfc的局域網(wǎng)聊天工具-wenkub.com

2024-11-04 06:08 本頁面
   

【正文】 addrSrv,sizeof(SOCKADDR))。 =htonl(INADDR_ANY)。 unsigned long S_addr。 IN_ADDR 結(jié)構(gòu)體: typedef struct in_addr { union { struct{ unsigned char s_b1, s_b2, s_b3, s_b4。 must be AF_INET. unsigned short sin_port。 char sa_data[14]。 protocol 多 指定為0,系統(tǒng)會(huì)根據(jù)地址格式和套接字類別,自動(dòng)選擇一個(gè)合適的協(xié)議。 return。 err = WSAStartup( wVersionRequested, amp。 24 例子 (加載版本 的 DLL 代碼片段) : WORD wVersionRequested。 wVersionRequested 用于指定準(zhǔn)備加載的 Winsock 庫的版本。如果調(diào)用 Winsock之前,沒有加載 Winsock 庫,這個(gè)函數(shù)就會(huì)返回一個(gè) SOCKET_ERR,錯(cuò)誤信息是 WSANOTINITIALISED。這是通過 bind 函數(shù)來完成的。 ( 3) WinSocket 編程 一般流程 (基于 UDP) 本程序選擇使用 CSocket 類, 基于 UDP 的編程 。 CSocket 從 CAsyncSocket 派生出的高水平抽象概念 , 它通過 MFC CArchive 對(duì)象提供與套接字一起使用的更高級(jí)的抽象化。 ( 2)相關(guān) MFC 類 MFC 為使用 Windows Sockets 編寫網(wǎng)絡(luò)通信程序提供了兩種模型,內(nèi)嵌在兩個(gè) MFC 類中。目前,套接字一般只與使用網(wǎng)際協(xié)議組的同一 “通信域 ”中的其他套接字交換數(shù)據(jù)。雖然目前的 Windows Sockets 規(guī)范定義了 TCP/IP 的套接字抽象化,但任何網(wǎng)絡(luò)協(xié)議都可以通過提供自己版本的、實(shí)現(xiàn) Windows Sockets 的動(dòng)態(tài)鏈接庫 (DLL)來滿足 Windows Sockets。 本程序只應(yīng)用于局域網(wǎng)中,局域網(wǎng)中的數(shù)據(jù)流 傳輸?shù)目煽啃愿撸蔬x擇 UDP 協(xié)議。 IP 數(shù)據(jù)包中含有發(fā)送它的主機(jī)的地址(源地址)和接收它的主機(jī)的地址(目的地址)。底層的水平線代表以太網(wǎng)網(wǎng)線,“ O”代表收發(fā)器,“ *”代表 IP 地址,“ ”代表網(wǎng)址,理解這樣的分層結(jié)構(gòu) 是 理解 INTERNET 技術(shù)的基礎(chǔ)。 這 其中一 些協(xié)議最早發(fā)源于美國國防部的ARPA 網(wǎng) 項(xiàng)目。在開發(fā)過程中可使用 CDumpContext 和CMemoryState 來幫助調(diào)試。 ( 9) OLE 類 OLE 類與其它應(yīng)用框架一起工作可以使對(duì) ActiveX 的訪問更方便,可以使程序更容易對(duì)提供 ActiveX 的功能。 支持永久性數(shù)據(jù)的類按種類分類:文件 I/O 類 、 DAO 類 、 ODBC 類 。 ( 7) 文件和數(shù)據(jù)庫類 這些類允許將信息存儲(chǔ)在一個(gè)數(shù)據(jù)庫或一個(gè)磁盤文件中。添加和刪除也很快。 映射將一個(gè)數(shù)據(jù)值與一個(gè)關(guān)鍵字聯(lián)系起來了。 列表與數(shù)組相似,但在存儲(chǔ)方面非常不同。因?yàn)閿?shù)組中任何一個(gè)給定元素的內(nèi)存地址可以通過將元素的索引乘以一個(gè)元素的大小再加上數(shù)組的基地址而得到,所以數(shù)組支持非??斓碾S機(jī)訪問。無論這個(gè)程序是否是為 Windows 而編寫的。 CTime , COleDataTime , CTimeSpan 和 COleTimeSpan 表示時(shí)間和日期值。這些對(duì)象在類庫中作為 Windows 成員函數(shù)的參數(shù)廣泛使用。 ( 4) 繪畫和打印類 在 Windows 中,所有的圖形輸出都是在一個(gè)可視的繪圖區(qū)上。由于對(duì)話框是一種特殊的窗口,所以 CDialog 是從 CWnd 派生的。類庫提供的派生類表示各種窗口。視圖顯示并且操縱包含在一個(gè)文檔類對(duì)象中的數(shù)據(jù)。文檔類對(duì)象負(fù)責(zé)視圖中的數(shù)據(jù)操作的內(nèi)部表示。文檔 /視圖 結(jié)構(gòu)同樣也支持打印和打印預(yù)顯。文檔 /視圖應(yīng)用包含了一個(gè)或多個(gè)文檔、視圖和框架窗口集。典型地,可以從構(gòu)造類派生新的類,然后添加新成員或覆蓋已有的成員 函數(shù)。 18 MFC 層次結(jié)構(gòu)大約可分為幾種不同的類型的類: ( 1) 根類: CObject Microsoft 基本類庫中的大多數(shù)類都是由在類層次表中根上的唯一的一個(gè)基類派生而來的。必要時(shí), 也 可以 MFC 可以用面向?qū)ο蟮姆椒▉碚{(diào)用 Windows API,因?yàn)? MFC 不修改也不隱藏 Windows 程序的基本結(jié)構(gòu)。這種直接訪問并不意味著類可以完全取代 API。 MFC 的消息映射機(jī)制也避免了使用 性能較低的龐大虛函數(shù)表。 17 MFC (Microsoft Foundation Class) 簡介 MFC 是在 1992 年隨微軟的 Microsoft C/C++ 編譯器發(fā)布的, 是 建立在Windows API 之上的 C++ 類庫( C++ Class Library),意圖是 使 Windows 程序設(shè)計(jì)過程更有效率,更符合面向?qū)ο蟮木瘛? UINT uMsg, //指定消息的 MSG 結(jié)構(gòu)體。 //返回結(jié)構(gòu)體變量 msg 中的 wParam 的值。 十、 將消息發(fā)送到 回調(diào)函數(shù) DispatchMessage 通過 USER 模塊的協(xié)助將消息送到 該窗口的 窗口函數(shù)去了,但是 DispatchMessage 并 沒有指定函數(shù)名,卻可以將消息傳送過去, 這 是因?yàn)橄l(fā)生的時(shí)候, OS 已經(jīng)根據(jù)當(dāng)時(shí)狀態(tài),為它標(biāo)明了所屬窗口,而窗口所屬的窗口類亦是明確的 。 ( 4) UINT wMsgFilterMin 和 UINT wMsgFilterMax 用于指定獲取消息的最大值和最小值,如果都設(shè)為 0 則接收所有的消息。 其函數(shù)原型為: BOOL GetMessage( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax )。 While(GetMessage(amp。 ( 3) int nCmdShow 指定窗口如何顯示,但是如果是 程序 第一次 ShowWindow 則忽略此參數(shù),此值需要獲得 WinMain 中的值,如果是后來調(diào)用 ShowWindow 則使用此值。多數(shù)窗口將這個(gè)參數(shù)設(shè)置為 NULL。 14 ( 5) int x 和 int y 指定窗口左上角的 x, y 坐標(biāo)。常見的錯(cuò)誤信息: an invalid parameter value(錯(cuò)誤的參數(shù)值 ) 、 the system class was registered by a different module( 系統(tǒng)類已被其它 的模塊注冊 ) 、 The WH_CBT hook is installed and returns a failure code、 the window procedure fails for WM_CREATE or WM_NCCREATE 等。 ( 10) LPCTSTR lpszClassName 指定窗口的名字,一個(gè)以空終止的字符串。 ( 8) HBRUSH hbrBackground 指向背景畫刷的句柄。 ( 5) HINSTANCE hInstance 實(shí)例句柄。 ( 3) int cbClsExtra Windows 為系 統(tǒng)中的每個(gè)窗口類管理這一個(gè) WNDCLASS 結(jié)構(gòu),在應(yīng)用程序注冊窗口類時(shí),它可以讓 Windows OS 為 WNDCLASS 結(jié)構(gòu)分配和追加一定的附屬空間,由此類的對(duì)象共同使用,此部分空間一般初始化為 0,所以此參數(shù)一般設(shè)置為 0。 )。( Specifies additional information about the message. The exact meaning depends on the value of the message member.) ( 4) DWORD time 消息產(chǎn)生時(shí)的時(shí)間。 ( 1) HWND hwnd 定義句柄 ,用于識(shí)別是那個(gè)窗口函數(shù)來接收信息,即識(shí)別是那個(gè)窗口產(chǎn)生的消息。 ( 3) HINSTANCE hPrevInstance, HPrevInstance 表示當(dāng)前實(shí)例的前一個(gè)實(shí)例的句柄,一般為 NULL。 WINAPI 與 CALLBACK、 _stdcall 相同, 是一種函數(shù)調(diào)用習(xí)慣,關(guān)系到參數(shù)進(jìn)入到堆棧的次序,以及處理堆棧的責(zé)任?!?Windows 程序依靠外部發(fā)生的事件來驅(qū)動(dòng),也就是說:程序不斷的等待 消息 , 外部事件以消息的形式進(jìn)入系統(tǒng)后放入相應(yīng)的隊(duì)列, 然后 程序調(diào)用 Getmessage API 取得相應(yīng)的消息并 做出相應(yīng)的處理 。程序員必須在一個(gè)所謂的資源描述檔( .rc )中描述它們。下面是進(jìn)行直接的 WIN32 SDK 方式編程的基本思路或者說是一個(gè)框架。 第三章 相關(guān)開發(fā)技術(shù)的原理性說明 Win32 編程 (即 SDK 程序設(shè)計(jì)原理) 所謂的 Win32 開發(fā),就是在 C 語言的層面上,直接使用 Win32 API( Application Programming Interface:系統(tǒng)開放出來,給程序員使用的接口。 ( 2)軟件接口 使用 Windows API 函數(shù)和 VC++類。 ( 3)宜操作性,程序簡單易懂,容易上手使用。 ( 3)客戶端向服務(wù)器端發(fā)送的確認(rèn)在線信息。 ( 4)客戶端在指 定時(shí)間內(nèi)未向服務(wù)器端發(fā)送信息的,服務(wù)器認(rèn)為客戶端下線。但如果你不圍繞 Developer Studio 來進(jìn)行學(xué)習(xí),就不能有效地使用 Visual C++( Developer Studio 聽起來很像 Vi sual Studio , 但它們之間沒有關(guān)系 )。應(yīng)用程序在網(wǎng)絡(luò)上傳輸,接收的信息都通過這個(gè) Socket 接口來實(shí)現(xiàn)。它 不僅包含了人們所熟悉的 Berkeley Socket 風(fēng)格的庫函數(shù);也包含了一組針對(duì) Windows 的擴(kuò)展庫函數(shù),以使程序員能充分地利用 Windows 消息驅(qū)動(dòng)機(jī)制進(jìn)行編程。 課題現(xiàn)狀 基于局域網(wǎng)的即時(shí)通信工具,實(shí)際上是互聯(lián)網(wǎng)即時(shí)通信工具的一個(gè)小規(guī)模版本,廣域網(wǎng)上的即時(shí)通信工具,如今一般采用 UDP 或者 TCP 協(xié)議體系來實(shí)現(xiàn) ,開發(fā)技術(shù)已經(jīng)比較成熟,比如較早的 ICQ、 MSN Messenger、 YAHOO 通等 國外開發(fā)的產(chǎn)品,還有國產(chǎn)的有名的 、 新浪 UC、 LAVALAVA 等,這些工具統(tǒng)統(tǒng)都實(shí)現(xiàn)了廣域網(wǎng)上的即時(shí)通信,盡管都是即時(shí)通信,實(shí)現(xiàn)了即時(shí)聊天,以及文件傳輸?shù)闹饕δ埽且哺饔懈鞯奶厣?,比?ICQ 的巨大客戶群, MSN 的個(gè)性化表情, YAHOO 通的易操作性等 , 而 也具有一個(gè)相當(dāng)方便的屏幕截圖功能,另外就是,所有上述軟件都實(shí)現(xiàn)了網(wǎng)絡(luò)即時(shí)的視頻,語音聊天功能。目前在互聯(lián)網(wǎng)上受歡迎的即時(shí)通訊軟件包括百度 、 MSN Messenger、 Yahoo! Messenger、 AOL Instant Messenger、 NET Messenger Service、Jabber、 ICQ 等。 Win32。 1 本科畢業(yè)論文 基于 MFC 的局域網(wǎng)聊天工具 Instant Messaging of LAN Based on MFC 姓名: 學(xué)號(hào): 院系: 指導(dǎo)教師: 2 摘要 關(guān)鍵字 : 局域網(wǎng) ;即時(shí)通訊; Win32; API; MFC; SOCKET; 多線程 Abstract Keywords: LAN。 API。 在本文中將討論一種基于 MFC Socket 的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)方法。這些軟件,在使用方面各有特色,在實(shí)現(xiàn)方面也各有所長,但 由 于這些產(chǎn)品正在商業(yè)運(yùn)營階段,其實(shí)現(xiàn)方式屬于商業(yè)機(jī)密,具體細(xì)節(jié)不可能得知,但是它在大的方面無非就是各種利用各種平臺(tái)上的網(wǎng)絡(luò)通信接口,建構(gòu)基于下層 TCP/IP,或者 UDP/IP 協(xié)議的軟件產(chǎn)品。 Windows Sockets 規(guī)范本意在于提供給應(yīng)用程序開發(fā)者一套簡單的 API, 使應(yīng)用程序開發(fā)者能夠使用,并且網(wǎng)絡(luò)軟件供應(yīng)商能夠?qū)崿F(xiàn)的一套庫函數(shù)調(diào)用和相關(guān)語義。 微軟為 VC 定義了 Windows Sockets 類如 CAsyncSocket 類和派生于CAsyncSocket 的 CSocket 類,它們簡單易用 。 它包含: C++編譯器、調(diào)試器、應(yīng)用程序框架生成器、項(xiàng)目管理器、設(shè)計(jì)和實(shí)現(xiàn)菜單等資源的編輯器等等 第二章 需求分析及可行性研究 6 需求分析 功能需求分析 ( 1)用戶選擇需要對(duì)話的 IP 點(diǎn)擊發(fā)送后,客戶端與客戶端之間使用點(diǎn)對(duì)點(diǎn)發(fā)送信息( UDP),利用 3 號(hào) 端口??蛻舳嗽谝欢〞r(shí)間內(nèi)未收到服務(wù)器端信息的,認(rèn)為服務(wù)器已經(jīng)下線,則提示用戶 并建議退出, 在 用戶一定時(shí)間后沒有退出的則 自動(dòng)關(guān)閉客戶端程序。 ( 4)其它程序內(nèi)部可能需要設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)體。 ( 4)開發(fā)文檔易理解,保證以后自己二次開發(fā)或他人接手開發(fā)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1