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

正文內(nèi)容

基于vc的企業(yè)內(nèi)部通信軟件的設計與實現(xiàn)計算機優(yōu)秀畢業(yè)論文(完整版)

2024-07-30 18:49上一頁面

下一頁面
  

【正文】 址解析協(xié)議等。 (3)以通信程序作為其中一個模塊的應用程序往往不是在等待數(shù)據(jù)發(fā)送或接收完之后再做其它工作,因而在主程序中要采用多線程(Multithreaded)技術。(5)為接收和發(fā)送數(shù)據(jù)各產(chǎn)生一個CArchive 對象,把它們與CSocketFile對象關聯(lián)起來。 (1)構造一個CSocket對象。在有關套接字方面,Visual C++ Sockets庫函數(shù)進行了一系列封裝,繼而產(chǎn)生了CSocket 、CSocketFile等類,它們封裝著有關Socket的各種功能。這些擴充主要是提供了一些異步函數(shù),并增加了符合Windows消息驅(qū)動特性的網(wǎng)絡事件異步選擇機制。 WinSock網(wǎng)絡編程Windows Sockets是從Berkeley Sockets擴展而來的,其在繼承Berkeley Sockets的基礎上,又進行了新的擴充。其中的MFC庫集成了Windows Sockets API應用程序接口,使得用戶可以用面向?qū)ο蟮姆椒ㄖ苯诱{(diào)用。用戶通過公眾信息網(wǎng)來傳輸?shù)男畔?,在傳輸?shù)倪^程中可能被竊取、篡改和偽造,信息的安全性和可靠性因此會大大的降低,所以內(nèi)網(wǎng)、專網(wǎng)還是不可缺少的。另外,許多企業(yè)已經(jīng)應用了即時通訊類產(chǎn)品作為內(nèi)部交流的平臺。發(fā)展到今天,大多數(shù)企業(yè)都應用了局域網(wǎng),可見其在當今社會的重要地位。s Advanced Research Project agency (ARPA) to the University of California, Berkeley provided funding to enable them to achieve in the UNIX operating system, TCP / IP protocol. In this project, researchers for the TCP / IP Network Communication Development an API (application program interface). This API is called Socket Interface (socket). Today, SOCKET interface is a TCP / IP network of the most mon API, is the INTERNET application development on the most mon API.With the development of network technology and the demand of people39。本課題是開發(fā)一個基于UDP的企業(yè)內(nèi)部通信系統(tǒng),既可以應用于封閉的局域網(wǎng)環(huán)境下,也可以在互聯(lián)網(wǎng)的環(huán)境下使用。這個API稱為Socket接口(套接字)。通過聊天工具的使用,讓分布在不同地點、使用不同機器的一組用戶能夠及時進行信息交流,以達到信息共享的目的,從而提高工作或者生活效率。我們都知道局域網(wǎng)的存在,特別是在大型企業(yè),比如銀行、公安機關等等對網(wǎng)絡安全要求特別嚴格的企業(yè)單位都會有自己的局域網(wǎng),因為局域網(wǎng)的安全可靠,使其不容易受到網(wǎng)絡病毒的攻擊,所以局域網(wǎng)得以在企業(yè)之中廣泛應用。國內(nèi)在使用的最普及的就是騰訊,微軟的MSN也受到商務人士的青睞;國外主要使用的是由美國在線出的ICQ、AMI以及微軟的MSN等。企事業(yè)單位非常需要使用內(nèi)部即時通訊產(chǎn)品來提高工作效率。 開發(fā)工具簡介本系統(tǒng)采用Windows 7中文操作系統(tǒng),包含Windows API的支持,使用面向?qū)ο蟮木幊坦ぞ遃isual C++ 。而且,基于MFC的程序不僅小巧而且運行速度快,這是因為Visual C++非常接近Windows的底層,所以編譯器所編譯出來的程序質(zhì)量相當?shù)母?,從而保證了Visual C++編寫出來的軟件產(chǎn)品擁有高效率的運行速度。 Socket簡介 套接字(Socket)最初是由加利福尼亞大學Berkeley分校為UNIX操作系統(tǒng)開發(fā)的網(wǎng)絡通信接口,隨著UNIX操作系統(tǒng)的廣泛使用,套接字成為當前最流行的網(wǎng)絡通信應用程序接口之一。 所采用的編程語言一般可選目前較流行使用的可視化和采用面向?qū)ο蠹夹g的Microsoft Visual C++ 。TCP / IP核心協(xié)議連同網(wǎng)絡物理介質(zhì)(如網(wǎng)卡)一起,都是提供網(wǎng)絡應用程序間相互通信的設施。 (3)如果是客戶方套接字,則調(diào)用CAsyncSocket ∷Connect()函數(shù)與服務方套接字連接;如果是服務方套接字,則調(diào)用CAsyncSocket∷Listen()開始監(jiān)聽來自客戶方的連接請求,收到連接請求后,調(diào)用CAsyncSocket∷Accept()函數(shù)接受請求,建立連接。 (2)一般情況下,網(wǎng)絡通信程序是某應用程序中的一模塊。我們在充分利用Windows Sockets的基于消息的網(wǎng)絡事件異步選擇機制,用消息來驅(qū)動數(shù)據(jù)的發(fā)送和接收的基礎上,結(jié)合使用其他措施,如將數(shù)據(jù)的收和發(fā)放在高優(yōu)先級線程,在軟件設計上,安排好時序,盡量避免在同一時間內(nèi),雙方都在向?qū)Ψ桨l(fā)送大量數(shù)據(jù)的情況發(fā)生,保證網(wǎng)絡要有足夠的帶寬等,成功地實現(xiàn)了數(shù)據(jù)傳輸?shù)膶崟r性。網(wǎng)絡層協(xié)議包括IP協(xié)議(網(wǎng)際協(xié)議),ICMP協(xié)議(Internet互聯(lián)網(wǎng)控制報文協(xié)議),以及IGMP協(xié)議(Internet組管理協(xié)議)。l Telnet遠程登錄l FTP文件傳輸協(xié)議l SMTP簡單郵件傳輸協(xié)議l SNMP簡單網(wǎng)絡管理協(xié)議第3章 軟件需求分析 需求分析 功能需求分析(1)用戶端的基本聊天信息發(fā)送,這些基本聊天信息包括文本和圖片。因為文件傳輸入要求數(shù)據(jù)不能出錯,因此此模塊采用TCP協(xié)議。(3)客戶端向服務器端發(fā)送的確認在線信息。(4)模塊化設計此軟件的功能,不同的模塊實現(xiàn)不同的功能,使得軟件易于以后的維護與擴展,在以后可以更好的完善本軟件的功能,更方便于在工作中的應用。 技術可行性分析首先我已經(jīng)搭建好開發(fā)所需要的軟硬件平臺,并進行了合理而完善的需求分析,做好了充分的前期準備工作,其次因為本程序的平臺將基于WINDOWS,將要使用網(wǎng)絡通信技術,而WINDOWS有完善成熟的網(wǎng)絡通信接口,以及與VC++,加之相類似的更大規(guī)模的INTERNET通信工具產(chǎn)品也已有例在先,所以這個程序的開發(fā)可行性在技術上是完全可行的??傮w功能傳輸文件白板聊天室發(fā)送基本聊天信息保持連接發(fā)送圖片信息發(fā)送文本信息圖41 總體功能框圖本軟件的總體功能主要劃分為五個模塊:(1) 基本聊天模塊:兩個用戶端的基本聊天信息發(fā)送,這些基本聊天信息包括文本和圖片。本文件傳輸功能用可以支持斷點續(xù)傳文件。 /// 信息public: CDebug()。}CDebug::~CDebug(){ CString strTrace。下面從各個方面來說明本設計的處理方式:(1)不在任務欄顯示圖標CDialog dlgParent。上面代碼就達到了使程序主界面不在任務欄中顯示的目的。熱鍵的功能可以隱藏、顯示主界面,有消息到達時,按熱鍵也可以打開聊天對話框。 }}在OnHotkey()函數(shù)中判斷主界面是否是可見的,如果是可見的那么隱藏起來,否則顯示,并且把主界面設為前景窗口。HICON hIcon = AfxGetApp()LoadIcon( STATE_ONLINE )。Shell_NotifyIcon( NIM_ADD, amp。m_nid )。 主界面布局程序主界面如圖41所示。此功能可以向選定IP的IP段發(fā)送添加請求的消息,這相當于批量添加好友的功能。 自繪按鈕VC++,而且也不能顯示圖像,作為一款好的軟件,應該有個好的界面。 /// 無效圖標CToolTipCtrl m_pToolTipCtrl。 ( this, TTS_ALWAYSTIP )。 = m_hWnd。 ODS_DISABLED ) { m_nState = DISABLE。 break。要使用此函數(shù),必須導入 ,在程序使用如下語句導入:pragma ment( lib, C:\\Program Files\\Microsoft Visual Studio\\VC98\\Lib\\  ) 自繪好友列表框普通的列表控件無法滿足程序的要求,程序要求好友列表框可以顯示好友的頭像、好友昵稱、好友IP和刪除、攝像頭按鈕。 … CListCtrl::PreSubclassWindow()。在DrawItem()函數(shù)中,先得到額外的附加數(shù)據(jù),既是添加項時作為參數(shù)傳遞的USER類型的變量,然后再根據(jù)m_nCurSel、m_nDelIcon和m_nCamera的值自繪。在添加按鈕的響應函數(shù)中先判斷IP地址是否合法,是否是自己的IP,是否已經(jīng)添加此好友。/// 分配空間UINT uDataLength = sizeof( DATAPACKET ) + sizeof( USER )。添加好友對方是否允許將好友添加到數(shù)組和列表框中彈出提示框TF圖43 添加好友流程圖好友收到請求的流程圖,如圖44所示。在程序初始化時設置一定時器:SetTimer( TIMER_CONNECT, DEFAULT_REFRESH_TIME, NULL )。 /// 分別發(fā)送保持連接的消息,將發(fā)送過的IP加入到m_strlstKeepConnent for( nIndex = 0。dataPacket, sizeof( DATAPACKET ) )。if( RegOpenKeyEx( HKEY_CLASSES_ROOT, \\CLSID, 0, KEY_READ, amp。聊天對話框中定的發(fā)送和接收富文本框變量為:CRichText m_rtReceived。接收到的消息主要代碼如下:void CChatDlg::ReceiveMessage( LPCSTR szTime, LPCSTR szMessage ){ CString strText。聊天消息包括文字格式和圖像信息,因此發(fā)送的數(shù)據(jù)可能很大,會超過Socket發(fā)送的最大數(shù)據(jù)長度,這樣如果直接發(fā)送,會因為數(shù)據(jù)長度過大,而導致發(fā)送失敗。主對話框定義了一變量,在用UDP發(fā)送數(shù)據(jù)的時候,就可以根據(jù)這個值的大小來確定分包的大小。聊天對話框還有記錄和打開聊天記錄的功能。用戶創(chuàng)建聊天室可以把自己的所有好友都加入到聊天室,這些好友發(fā)的消息可以被所有在聊天室中的好友共享,即使這些好友之間可能并不能互相訪問。如果好友接受了請求,接受請求的好友就會從未進入聊天室聊表框移到聊天室好友列表框。當創(chuàng)建聊天室的用戶發(fā)送聊天消息時,服務器將文本消息發(fā)給所有聊天室好友。 nIndex1++ ){ USER userSend = ( nIndex1 )。當服務器踢出客戶端,或服務器關閉時,彈出對話框提示用戶,并清空聊天室好友,設置發(fā)送文本框不可用。文件傳送模塊用到了多線程,可以實現(xiàn)多個文件、多個用戶之間的傳輸。如果接收者接收文件,接收者會先向pSFServerSocket發(fā)起連接,程序重載pSFServerSocket的OnAccept()函數(shù),在此函數(shù)中調(diào)用傳輸文件服務器對話框的OnAccept()函數(shù):void CSendFilesServerDlg::OnAccept(){ CSendFilesSocket sfSocket。然后此函數(shù)再創(chuàng)建了一個線程,并把此線程加入到線程列表中。因為程序支持斷點續(xù)傳,因此接收者首先會通知CSendFilesServerThread線程要發(fā)送的文件、大小、已經(jīng)發(fā)送的大小,之后線程會打開需傳送的文件,并定位到已。發(fā)送數(shù)據(jù)的功能就由這個線程來處理了。 CSendFilesServerThread *pSFSThread = ( CSendFilesServerThread * )AfxBeginThread( RUNTIME_CLASS( CSendFilesServerThread ), 0, 0, CREATE_SUSPENDED, NULL )。傳送文件服務器界面如圖48所示??蛻舳税l(fā)送消息時,先將發(fā)送的消息加入到接收消息文本框,然后將消息發(fā)往服務器,由服務器將消息發(fā)到各個聊天室好友。 } SendTextToIP( , CHATROOM_CLIENT_PORT, strSend, )。因此,發(fā)送的消息長度不會超過UDP可以發(fā)送的數(shù)據(jù)最大值,發(fā)送消息時直接一次發(fā)送就行:for( int nIndex = 1。這兒是發(fā)往CHATROOM_CLIENT_PORT端口的消息,因為將要刪除的好友已經(jīng)打開了聊天室,而且創(chuàng)建了聊天室客戶端的SOCKET,可以接收發(fā)往這個端口的消息。聊天室服務器和客戶端各使用一個SOCKET,創(chuàng)建的是UDP套接字,有自己的端口號。打開“聊天記錄”按鈕,可以選擇保存的聊天記錄,在接收文本框內(nèi)會顯示打開選擇的聊天記錄。對方接收到這個通知消息時,會根據(jù)接收到的消息長度分配一個接收消息的臨時空間,并把接收到的消息時間也保存。上面提到了發(fā)送的最大數(shù)據(jù)長度,m_pLisSocket是創(chuàng)建的UDP套接字,不像TCP一樣可以發(fā)送隨意大小的數(shù)據(jù),UDP套接字只能發(fā)送小于一定大小的數(shù)據(jù)。 /// 設置接收框 ( ().GetLength() )。發(fā)送消息的主要代碼如下:void CChatDlg::OnSend() { CTime time = CTime::GetCurrentTime()。 /// 控件不存在 if( !hLib ) { MessageBox( )。 delete pSendData。 nIndex++ ) { USER user = ( nIndex )。 nIndex ()。在客戶端接受到OF
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1