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

正文內(nèi)容

基于windows平臺(tái)的局域網(wǎng)聊天系統(tǒng)(參考版)

2024-11-16 15:00本頁(yè)面
  

【正文】 MessageBox(str)。 CString str。 if(bind(serv_fd,(SOCKADDR*)amp。 =htons(2222)。 } SOCKADDR_IN serv_addr。 (套接字創(chuàng)建失敗 %d ,error)。 if(serv_fd== INVALID_SOCKET ) { int error=WSAGetLastError()。 return 。 } openflag=true。 } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CServDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon。 // Draw the icon (x, y, m_hIcon)。 int x = (() cxIcon + 1) / 2。 GetClientRect(amp。 int cyIcon = GetSystemMetrics(SM_CYICON)。 // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) (), 0)。 } else { CDialog::OnSysCommand(nID, lParam)。 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout。 return TRUE。 // Set big icon SetIcon(m_hIcon, FALSE)。 } } // Set the icon for this dialog. The framework does this automatically // when the application39。 if (!()) { pSysMenuAppendMenu(MF_SEPARATOR)。 if (pSysMenu != NULL) { CString strAboutMenu。 ASSERT(IDM_ABOUTBOX 0xF000)。 // Add About... menu item to system menu. // IDM_ABOUTBOX must be in the system mand range. ASSERT((IDM_ABOUTBOX amp。 //{{AFX_DATA_MAP(CServDlg) DDX_Control(pDX, IDC_EDIT1, m_edit)。 //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CServDlg dialog CServDlg::CServDlg(CWnd* pParent /*=NULL*/) : CDialog(CServDlg::IDD, pParent) { //{{AFX_DATA_INIT(CServDlg) //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()LoadIcon(IDR_MAINFRAME)。 // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }。 // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }。 //用于用戶的注冊(cè)和登錄 void send_online( )。 DWORD WINAPI thread_recv(LPVOID lparam)。 DWORD WINAPI thread_accept(LPVOID lparam)。 //把容器設(shè)成了全局變量 ,存放已經(jīng)登錄的用戶 vectorstruct na_miregist。 CString disip=。 SOCKET serv_fd。 }。 struct na_mi { 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 30 char name[20]。 char name[20]。 ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[] = __FILE__。 //記錄服務(wù)器是否開(kāi)啟 }。 //}}AFX_MSG DECLARE_MESSAGE_MAP() public: bool banbenjiance()。 afx_msg void OnBUTTONopen()。 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 29 afx_msg void OnPaint()。 // Generated message map functions //{{AFX_MSG(CServDlg) virtual BOOL OnInitDialog()。 //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CServDlg) protected: virtual void DoDataExchange(CDataExchange* pDX)。 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 27 參考文獻(xiàn) [1]侯俊杰 .深入淺出 MFC[M].華中科技 大學(xué)出版社 .2020 [2]孫鑫 .VC++深入詳解 [M].電子工業(yè)出版社 . ISBN 7121025302 [3]黃強(qiáng) .WINDOWS 網(wǎng)絡(luò)編程 [M].人民郵電出版社 . ISBN 9787115109613 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 28 附錄 一. 服務(wù)器源代碼: 1. : header file if !defined(AFX_SERVDLG_H__4695A1C6_184A_41EF_AC29_AA307A63D654__INCLUDED_) define AFX_SERVDLG_H__4695A1C6_184A_41EF_AC29_AA307A63D654__INCLUDED_ if _MSC_VER 1000 pragma once endif // _MSC_VER 1000 ///////////////////////////////////////////////////////////////////////////// // CServDlg dialog class CServDlg : public CDialog { // Construction public: CServDlg(CWnd* pParent = NULL)。 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 26 致 謝 首先要感謝 夏春華 老師,是 他 在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中給我提供了畢 業(yè)設(shè)計(jì)所需要的資料,幫助解答畢業(yè)設(shè)計(jì)中遇到的問(wèn)題。 另外,我也在這次設(shè)計(jì)中看到了自己的許多不足之處,由于初次接觸到語(yǔ)言類問(wèn)題,很多步驟都是自己臨時(shí)學(xué)習(xí),大大影響了系統(tǒng)的開(kāi)發(fā)進(jìn)度。通過(guò)此次畢業(yè)設(shè)計(jì),我了解了進(jìn)程間通訊的兩種基本方法共享內(nèi)存和消息,在實(shí)例中具體體會(huì)到了共享內(nèi)存和消息的使用方法。 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 25 結(jié) 論 在當(dāng)今電腦網(wǎng)絡(luò)密布的世界當(dāng)中,一個(gè)簡(jiǎn)單高效的局域網(wǎng)通信工具是如此的具有實(shí)用性,所以我們應(yīng)當(dāng)重視對(duì)它的相關(guān)研究與開(kāi)發(fā)。 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 22 網(wǎng)絡(luò)掃描模塊詳細(xì)設(shè) 圖 52 網(wǎng)絡(luò)掃描示意圖 信息發(fā)送模塊詳細(xì)設(shè)計(jì) 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 23 圖 53 信息發(fā)送模塊流程圖 信息接收模塊詳細(xì)設(shè)計(jì) 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 24 圖 54 信息接收模塊流程圖 以上即各個(gè)模塊的詳細(xì)設(shè)計(jì)的主要實(shí)現(xiàn)過(guò)程。 服務(wù)端線程的具體作就是首先創(chuàng)建一個(gè) SOCKETS,然后將該套接字綁定到本地主機(jī)的某一個(gè)固定的端口上,在本程序中選擇了 2222 端口。 在每一個(gè)基于 MFC 的 WIN32 程序中,它都是通過(guò)一個(gè)由全局對(duì)象啟動(dòng)整個(gè)初始化過(guò)程的機(jī)制,因?yàn)楦鶕?jù) C++的設(shè)計(jì),一個(gè)全局對(duì)象的生成即其構(gòu)造函數(shù)的調(diào)用要先于程序的入口函數(shù)。類結(jié)構(gòu)如下: 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 21 圖 51 服務(wù)器端主框架模塊圖 其中前面為紅色方塊的為類成 員函數(shù),淺藍(lán)色方塊的為類成員數(shù)據(jù)。 vectorstruct_nameonline_user。 ( 3) 客戶端中用于存放在線用戶的信息 struct struct_name { char name[20]。 vectorstruct na_miregist。 }。 //存放 存放在線用戶的信息 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 17 ( 2) 客戶端 向 服務(wù)器發(fā)送用于注冊(cè)或登錄的信息 結(jié)構(gòu): struct na_mi { char name[20]。 注: 我是用容器來(lái)存放 在線用戶的信息 。 //存儲(chǔ) 用于 通信的套接字 char name[20]。 網(wǎng)絡(luò)掃描模塊是由主線程模塊啟動(dòng),進(jìn)行網(wǎng)絡(luò)掃描,確定哪些用戶當(dāng)前處于可到達(dá)狀態(tài),以及哪些可到達(dá)狀態(tài)的用戶安裝有相應(yīng)的通信軟件,并啟動(dòng)之可以與之進(jìn)行通信。 通信模塊又包 括兩個(gè)子模塊:數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊,這兩個(gè)模塊都由系統(tǒng)定義的網(wǎng)絡(luò)事件來(lái)觸發(fā)。 功能模塊劃分 根據(jù)以上的系統(tǒng)需求分析 ,以及體系結(jié)構(gòu)設(shè)計(jì),可以對(duì)系統(tǒng)進(jìn)行如下的功能模塊劃分如下圖所示。 客戶端的用戶可以選擇任意 其他 在線用戶進(jìn)行通信 。如下圖所示: 圖 41客戶機(jī)/服務(wù)器通信結(jié)構(gòu)示圖 在客戶端啟動(dòng)后,客戶端 會(huì)根據(jù)服務(wù)器的 IP 地址自動(dòng)連接到 服務(wù)器端,服務(wù)器接收到客戶端的 連接 信息后 會(huì)在客戶端和服務(wù)器之間創(chuàng)建一條信息通道,程序中 是 使用套接字來(lái)表現(xiàn)的。在客戶發(fā)出一個(gè)請(qǐng)湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計(jì))論文 15 求之前 ,服務(wù)進(jìn)程一直處于休眠狀態(tài)。 Client/Server 模型最終可歸結(jié)為一種“請(qǐng)求 /應(yīng)答”關(guān)系。尤其是網(wǎng)絡(luò)技術(shù)的發(fā)展 ,使得當(dāng)前很多系統(tǒng)都采用這種方式進(jìn)行構(gòu)造 ,其最大的優(yōu)點(diǎn)是將計(jì)算機(jī)工作任務(wù)分別由客戶端和服務(wù)器端來(lái)共同完成 ,這樣有利于充分合理的利用系統(tǒng)資源。有時(shí) ,可能有多個(gè)客戶向同一個(gè)服務(wù)器同時(shí)請(qǐng)求服務(wù) ,這就需要服務(wù)器決定怎樣處理這些請(qǐng)求。 調(diào)用該函數(shù)時(shí),如果即將接收消息的線程沒(méi)有創(chuàng)建消息循環(huán),則該函數(shù)執(zhí)行失敗。 (6)BOOL PostThreadMessage(DWORD idThread,UINT Msg,WPARAM wParam,LPARAM lParam)。 使用
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1