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

正文內(nèi)容

基于windows平臺的局域網(wǎng)聊天系統(tǒng)(存儲版)

2024-12-22 15:00上一頁面

下一頁面
  

【正文】 hIcon, FALSE)。 ASSERT(IDM_ABOUTBOX 0xF000)。 // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }。 DWORD WINAPI thread_accept(LPVOID lparam)。 }。 //記錄服務(wù)器是否開啟 }。 // Generated message map functions //{{AFX_MSG(CServDlg) virtual BOOL OnInitDialog()。 另外,我也在這次設(shè)計中看到了自己的許多不足之處,由于初次接觸到語言類問題,很多步驟都是自己臨時學(xué)習(xí),大大影響了系統(tǒng)的開發(fā)進(jìn)度。 服務(wù)端線程的具體作就是首先創(chuàng)建一個 SOCKETS,然后將該套接字綁定到本地主機(jī)的某一個固定的端口上,在本程序中選擇了 2222 端口。 ( 3) 客戶端中用于存放在線用戶的信息 struct struct_name { char name[20]。 注: 我是用容器來存放 在線用戶的信息 。 功能模塊劃分 根據(jù)以上的系統(tǒng)需求分析 ,以及體系結(jié)構(gòu)設(shè)計,可以對系統(tǒng)進(jìn)行如下的功能模塊劃分如下圖所示。 Client/Server 模型最終可歸結(jié)為一種“請求 /應(yīng)答”關(guān)系。 (6)BOOL PostThreadMessage(DWORD idThread,UINT Msg,WPARAM wParam,LPARAM lParam)。 該函數(shù)用于結(jié)束線程的掛起狀態(tài),執(zhí)行線程。 Visual C++ 中,使用 MFC 類庫也實現(xiàn)了多線程的程序設(shè)計,使得多線程編程更加方便。 每一個進(jìn)程至少有一個主執(zhí)行線程,它無需由用戶去主動創(chuàng)建,是由系統(tǒng)自動創(chuàng)建的。 (1) : 這是 WINSOCK API 的頭文件,需要包含在項目中。一個服務(wù)程序通常在一個眾所周知的地址監(jiān)聽對服務(wù)的請求,也就是說,服務(wù)進(jìn)程一直處于休眠狀態(tài),直到一個客戶向這個服務(wù)的地址提出了連接請求。 IP 數(shù)據(jù)包是不可靠的,因為 IP 并沒有做任何事情來確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒有被破壞。這些協(xié)議的示例是: UDP( User Datagram Protocol)協(xié)議、 ICMP( Inter Control Message Protocol)協(xié)議、 ARP(地址解析協(xié)議)和其他一些協(xié)議的協(xié)議組。視圖的作用是為修改、查詢文檔等任務(wù)提供 人機(jī)交互的界面。 MFC 構(gòu)架了一個龐大的類體系結(jié)構(gòu),在 時代就多達(dá) 189 個類,程序代碼湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計)論文 9 達(dá) 252 個文件, 58 個頭文件,共 10MB 之多, 時又多加了 29 個類,但是最為主干的是下面類結(jié)構(gòu)示圖所示的一些類: 圖 32 MFC 類框架主體 CObject 是 MFC 類庫的根類。msg, NULL, 0, 0)){ TranslateMessage(amp。所謂的 Win32,其實是一個 API 規(guī)范,與 UNIX 系統(tǒng)編程接口標(biāo)準(zhǔn) POSIX 是相對應(yīng)的。并且不發(fā)生內(nèi)存泄漏之類影響系統(tǒng)運(yùn)行的錯誤事件。 ( 3)在 C/S 模式中,服務(wù)器與客戶端是相互依賴的。 操作系統(tǒng) : Windows XP 平臺 , Windows vista 平臺 或 Windows 7 平臺 開發(fā)工具: VC++。對此,我們選擇的硬件環(huán)境和軟件環(huán)境如下: (1) 硬件環(huán)境 開發(fā)該系統(tǒng)應(yīng)盡可能采用高檔的硬件。它具有信息收發(fā)速度快,保密性好,占用網(wǎng)絡(luò)帶寬資源低,占用服務(wù)器吞吐能力低,易于編程實現(xiàn)等優(yōu)點(diǎn)。這些在 企業(yè)內(nèi)部原有局域網(wǎng)設(shè)計之初未曾考慮到的新情況的出現(xiàn)使得局域網(wǎng)不堪重負(fù),容易發(fā)生信息阻塞,此時,局域網(wǎng)不但不能提高生產(chǎn)效率,反而成為企業(yè)發(fā)展的瓶頸。很多政府機(jī)構(gòu),企業(yè),學(xué)校, 都是先以一個統(tǒng)一的局域網(wǎng)聯(lián)結(jié)在一起,再分別接入 工具,就這樣應(yīng)運(yùn)而生了。本文通過 局域網(wǎng) 聊天系統(tǒng) 來具體共享內(nèi)存實現(xiàn)進(jìn)程間的數(shù)據(jù)交換,利用 windows 消息機(jī)制實現(xiàn)進(jìn)程間的同步,兩種機(jī)制結(jié)合使用。然而,從企業(yè)運(yùn)行的成本方面考慮,無論是單純地提升網(wǎng)絡(luò)帶寬或增加服務(wù)器的吞吐能力都不能從根本上解決局域網(wǎng)資源緊張的問題,對舊有局域網(wǎng)的大規(guī)模硬件改造反而會增加企業(yè)的負(fù)擔(dān)。而 也具有一個相當(dāng)方便的屏幕截圖功能,另外就是,所有上述軟件都實現(xiàn)了網(wǎng)絡(luò)即時的視頻,語音聊天功能。 內(nèi)存: 128MB 或更高。 Windows Sockets 無疑是我們進(jìn)行網(wǎng)絡(luò)編程的利器 。 系統(tǒng)基本流程圖 圖 21 聊天系統(tǒng)工作流程圖 性能要求 首先要求程序要完全可靠,可以應(yīng)付種種由于系統(tǒng)問題產(chǎn)生的錯誤,比如初始網(wǎng)絡(luò)失敗,對方突然下線等。 測試環(huán)境規(guī)定 在開發(fā)完成以后,自己進(jìn)行一個全面的測試 。這些 UI 資源的實際內(nèi)容(二進(jìn)制代碼)系借助各種工具產(chǎn)生,并以各種擴(kuò)展名存在,如 .ico .bmp .cur 等等。msg)。 ( 2) CWinThread 類:是 CCmdTarget 的子類。 CObject CWnd CDocument CwinThread CcmdTarge 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計)論文 10 一個 MFC 應(yīng)用程序并不直接操作上述類,而是以上述類為基類派生新的類,構(gòu)建 Windows 應(yīng)用程序的基本框架。這樣的分層結(jié)構(gòu)決定了計算機(jī)在 inter 上互相通信的方式。它是一個 “best effort”或者 “不可靠 ”協(xié)議 ——不是因為它特別不可靠,而是因為它不檢查數(shù)據(jù)包是否已經(jīng)到達(dá)目的地,并且不保證它們按順序到達(dá)?,F(xiàn)在的 Winsock 已經(jīng)基本上實現(xiàn)了與協(xié)議無關(guān),你可以使用 Winsock 來調(diào)用多種協(xié)議的功能,但較常使用的是 TCP/IP 協(xié)議。 多線程編程技術(shù) 進(jìn)程及線程概述 進(jìn)程和線程都是操作系統(tǒng)的概念。 多線程可以實現(xiàn)并行處理,避免了某項任務(wù)長時間占用 CPU 時間。 (1) HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId)。其中參數(shù)dwExitCode 用來設(shè)置線程的退出碼。 4 總體設(shè)計 體系結(jié)構(gòu)設(shè)計 通常的通信工具,都采用客戶機(jī) /服務(wù)器 (C/S)體系結(jié)構(gòu), C/S 結(jié)構(gòu)是這樣的一種結(jié)構(gòu):它包括一個客戶機(jī) (或前端 ),一個服務(wù)器 (或稱后端 ),客戶機(jī)的作用是訪問和處理遠(yuǎn)程服務(wù)器上的數(shù)據(jù) ,服務(wù)器的作用是接收和處理客戶機(jī)的數(shù)據(jù)請求。一個客戶提出請求后 ,服務(wù)進(jìn)程被“喚醒”并且為客戶提供服務(wù) ,對客戶的請求做出所需要的應(yīng)答。 輸入 /輸出模塊用來響應(yīng)用戶雙擊用戶列表的某一項要準(zhǔn)備發(fā)送信息時的消息,以及當(dāng)系統(tǒng)接收到某個網(wǎng)絡(luò)用戶發(fā)送來的消息,要將其顯示給用戶的時候。 char mima[20]。 //存放編輯框中顯示的在線用戶 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計)論文 18 用戶界面設(shè)計 在能夠完全滿足軟件所需功能,設(shè)計界面要清爽、操作要簡單易懂的基本原則下,本軟件的界面設(shè)計如下: 服務(wù)器端顯示界面: 圖 43服務(wù)器端界面圖 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計)論文 19 客戶端登錄 前 ,登錄后 界面: 圖 44 客戶端登錄前界面 圖 45 客戶端登錄后的界面 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計)論文 20 客戶端與客戶端的聊天 界面: 圖 46 客戶端與客戶端的聊天界面 5 詳細(xì)設(shè)計及編碼實現(xiàn) 服務(wù)器 主框架及用戶界面模塊詳細(xì)設(shè)計 主框架模塊由三 個類構(gòu)成: CAboutDlg 類, CservDlg 類 和 CservApp 類。 6 測 試 用二臺機(jī)器通過集線器構(gòu)成一個局域網(wǎng),進(jìn)行正確的網(wǎng)絡(luò)配置,三臺機(jī)器上都安裝了 WINDOWS 操作系統(tǒng), 經(jīng)過測試可正常運(yùn)行。其次要感謝 電子工程系 實驗室的老師們,是他們畢業(yè)設(shè)計中為我準(zhǔn)備好了畢業(yè)設(shè)計的工作環(huán)境,再次是要感謝和我一起做畢業(yè)設(shè)計的同學(xué)們,正是有了他們,我們才在遇到問題時,相互鼓勵,最終解決了問題,圓滿地完成了畢業(yè)設(shè)計的各項工 作 。 afx_msg HCURSOR OnQueryDragIcon()。 endif struct xinxi { SOCKET socket。 CEdit m_edit。 char* regi_enter(SOCKET sock)。 } void CServDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX)。 (IDS_ABOUTBOX)。 // return TRUE unless you set the focus to a control } void CServDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID amp。 CRect rect。 } 湖北經(jīng)濟(jì)學(xué)院本科畢業(yè)(設(shè)計)論文 34 void CServDlg::OnBUTTONopen() { if(openflag) { return 。 MessageBox(str)。 (套接字綁定失敗 %d ,error)。 =htonl(INADDR_ANY)。 } serv_fd=socket(AF_INET,SOCK_STREAM,0)。 int y = (() cyIcon + 1) / 2。 } } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CServDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this)。s main window is not a dialog SetIcon(m_hIcon, TRUE)。 0xFFF0) == IDM_ABOUTBOX)。 //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX)。 //存放已經(jīng)注冊的用戶。 char mima[20]。 bool openflag。 // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: HICON m_hIcon。所以,我決定認(rèn)真總結(jié)這次畢業(yè)設(shè)計的經(jīng)驗,以及學(xué)習(xí)到的知識,來更加的充實自己的頭腦和完善自己的知識結(jié)構(gòu)。所以,在這個對象的構(gòu)造函數(shù)中可以做很多準(zhǔn)備工作,這個對象就是程序主框架類的對象,具體到本程序中, 即是上面講到的 CserverDlg 類 。 //存放已經(jīng)注冊的用戶。 //存放用戶的用戶名 }。 如果服務(wù)器不在線,則客戶端會提示用戶 ,在用戶確定該消息后,客戶端會自動退出 。另外它的服務(wù)器端還可以將信息集中起來,任何客戶機(jī)都可以通過訪問服務(wù)器而獲得所需的信息。因此,一般不建議使用該函數(shù)。 (3) DWORD ResumeThread(HANDLE hThread)。 Win32 SDK 函數(shù)支持進(jìn)行多線程的程序設(shè)計,并提供了操作系統(tǒng)原理中的各種同步、互斥和臨界區(qū)等操作。主執(zhí)行線程終止了,進(jìn)程也就隨
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1