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

正文內(nèi)容

基于tcpip、udp的局域網(wǎng)聊天工具(參考版)

2024-11-21 21:45本頁面
  

【正文】 } case MSG_TYPE_ONLINE_USER_INFO。 del_msg_from_list(my_msg_list,tmpmsg )。(tmpmsg),sizeof(tmpmsg),0,(struct sockaddr *)amp。 list_for_each_entry(tmp_node,amp。 show_user(my_user_list)。 system(clear)。 17 goto lable。(tmp_node),sizeof(tmp_node))。 sendto(srv_fd,amp。 list_for_each_entry(tmp_node,amp。 printf(******user_info***************\n)。 add_user_to_list(my_user_list,tmp_user)。 =tmp。 goto lable。(tmpmsg),sizeof(tmpmsg),0,(struct sockaddr *)amp。 debug(用戶已存在 \n)。 list_for_each_entry(tmp_node,amp。 圖 42 建立 Server流程圖 15 信息處理流程 圖 43 信息處理流程 主要代碼 while(1) //對不同的信息進行處理 { lable: list_for_each_entry(tmp,amp。在連接之前必須先進行一個黑名單判定,如果請求連接的 IP 地址在黑名單中,則不接收此 連接請求。 //表示沒有找到。no_use,0,sizeof(no_use))。 } struct sockaddr_in no_use。 list_for_each_entry(tmp,amp。 //服務端的 tcp 公共端口和 ip 地址 =i_addr()。 =AF_INET。還能對局域網(wǎng)內(nèi)所有用戶發(fā)送廣播。 硬件環(huán)境: Ubuntu 虛擬機。 圖 34 Client 模塊功能 系統(tǒng)開發(fā)環(huán)境 本系統(tǒng)采用 Linux 作為系統(tǒng)開發(fā)平臺。 圖 33 Server 模塊功能 3)Client 模塊:主要提 供了以下功能,如圖 34 所示。系統(tǒng)的總體模塊分布圖如圖 31 所示 圖 31 系統(tǒng)整體模塊圖 各模塊簡述 1)部署模塊:主要是在程序啟動時進行相應的準備,啟動 Server 監(jiān)聽,黑名單和廣播功能,如下圖所示。 第五,用戶在 上線后可以選擇先查看當前在線用戶,然后再進行其它操作 。 第三,在文件傳輸過程中必須的保證文件的完整。 首先,在程序啟動時需要進行一個初始化,包括界面和開啟本機的一個Server 監(jiān)聽,等待其他用戶的連接請求,系統(tǒng)需要判斷連接的有效性。 向服務器發(fā)送服務請求報文,等待并接收應答;繼續(xù)提出請求?? 請求結束后關閉通信通道并終止。 返回第二步,等待另一客戶請求 關閉服務器。 等待客戶請求到達該端口。該模式的建立基于以下兩點: 非對等作用; 通信完全是異步的。 關閉套接字 —— closesocket() 功能:關閉套接字 s ; 格式: BOOL PASCAL FAR closesocket(SOCKET s)。 格式: int PASCAL FAR select(int nfds,fd_set FAR * readfds,fd_set FAR * writefds, fd_set FAR * exceptfds,const struct timeval FAR * timeout)。 參數(shù): buf:指向存有傳輸數(shù)據(jù)的緩沖區(qū)的指針。 數(shù)據(jù)傳輸 —— send()與 recv() 功能:數(shù)據(jù)的發(fā)送與接收 格式: int PASCAL FAR send(SOCKET s,const char FAR * buf,int len,int flags)。 監(jiān)聽連接 —— listen() 功能:用于面向連接服務器,表明它愿意接收連接。 SOCKET PASCAL FAR accept(SOCKET s,struct sockaddr FAR * name,int FAR * addrlen)。//保留 }。//16 位端口號,網(wǎng)絡字節(jié)順序 struct in_addr sin_addr。 其它:沒有錯誤, bind()返回 0,否則 SOCKET_ERROR 地址結構說明: struct sockaddr_in{ short sin_family。 格式: int PASCAL FAR bind(SOCKET s,const struct sockaddr FAR * name,int namelen)。 基本套接字 [11] 創(chuàng)建套接字 —— socket() 功能:使用前創(chuàng)建一個新的套接字 格式 : SOCKET PASCAL FAR socket(int fd,int type,int procotol)。 9 客戶端在建立套接口后就可調(diào)用連接函數(shù)和申請和服務器建立連接??梢酝ㄟ^圖 26 來表示, 如下。其程序的流程可以用圖 25 表示。 圖 24 應用程序與 Socket關系圖 【 3】 Socket 網(wǎng)絡編程原理 通常常套接口分類 :原始 socket,流 式 socket 和數(shù)據(jù)報 socket。然后通過調(diào)用傳輸層的網(wǎng)絡通訊協(xié)議功能和操作系統(tǒng)調(diào)用實現(xiàn)實際的通訊工作。它繼承了以往伯克利套接口的優(yōu)點;也為其他各種平臺進行了擴展,以使開發(fā)人員能更好地利用 windows 網(wǎng)絡套接字進行開發(fā) 【 3】 。減少了骨干網(wǎng)絡出現(xiàn)擁塞的可能性。如果一臺發(fā)送者同時給多個的接收者傳輸相同的數(shù)據(jù),也只需復制一份的相同數(shù)據(jù)包。 7 2) 有限廣播有限廣播不會通過路由器轉(zhuǎn)發(fā),然后被發(fā)送到此網(wǎng)絡上的所有 主機,此時廣播的 IP 地址網(wǎng)絡號和主機號都為全 1。所以廣播的使用范圍非常小,只在本地子網(wǎng)內(nèi)有效,通過路由器和網(wǎng)絡設備控制廣播傳輸。 廣播與組播 [10] 廣播( Broadcast)傳輸:是指在 IP 子網(wǎng)內(nèi)廣播數(shù)據(jù)包,所有在子網(wǎng)內(nèi)部的主機都將收到這些數(shù)據(jù)包。應用程序必須關心 IP 數(shù)據(jù)報的長度。 IP 地址分類如下圖所示: 6 圖 23 IP 地址的分類 UDP:用戶數(shù)據(jù)報協(xié)議 UDP 是一個面向數(shù)據(jù)報的傳輸層協(xié)議:進程的每個輸出都會被封裝成一個UDP 數(shù)據(jù)報,并組裝成一份待發(fā)送的 IP 數(shù)據(jù)報。 2) IP 在發(fā)送數(shù)據(jù)報之后就不在關心次數(shù)據(jù)報的狀態(tài)信息。而且 IP 提供無連接、不可靠的數(shù)據(jù)報傳送服務: 1) IP 協(xié)議不能保證 IP 數(shù)據(jù)報能成功地傳輸?shù)浇邮辗健? 5 圖 22 三次握手 【 2】 IP:網(wǎng)際協(xié)議 [10] IP 協(xié)議是 TCP/IP 協(xié)議族中最為重要的協(xié)議。 2) 當接收方收到這個請求,會發(fā)送一個確認,再發(fā)送文件終止標志。 這個過程就是建立 TCP 連接的“三次握手”過程。同時,也發(fā)送一個收到客戶方報文的一個確認。 TCP 連接建立與終止 【 2】 建立連接(如圖 22): 1) 一方首先發(fā)送一個連接申請。 7) TCP 還提供控制傳輸數(shù)據(jù)大小的機制。 5) IP 數(shù)據(jù)報的順次在傳輸過程中可能會發(fā)生改變,所以 TCP 將對收到的數(shù)據(jù)進行重新排序,將收到的數(shù)據(jù)重新排列以后再交給應用層處理。工作是檢測數(shù)據(jù)在傳輸過程中是否發(fā)生改變。 3) TCP 的一端收到另一端發(fā)送來的數(shù)據(jù)時,它將發(fā)送一個確認。然后再進行發(fā)送。確保了傳輸?shù)目煽啃?,運用 TCP 協(xié)議的主機在交換數(shù)據(jù)之前必須首先建立一個連接。 4) 應用層,主要同于上層的應用程序進行的操作。它的工作只是把數(shù)據(jù)分組從發(fā)送方傳輸?shù)浇邮辗?,但是?shù)據(jù)分組能否成功達到接收方它不會給予保證。它可以通過三次握手,超時設置等機制來有效地保證了數(shù)據(jù)傳輸?shù)目煽啃浴T?TCP/IP 協(xié)議族中,有兩個主要 的且互不相同的傳輸協(xié)應用程序 應用層 應用程序 應用程序 應用程序 傳輸層 傳輸層 傳輸層 物理傳輸介質(zhì) TCP TCP ICMP IP IGMP 硬件接口 RAPP APP 圖 21 TCP/IP 協(xié)議族中布特哦那個層次的協(xié)議 [6] 4 議: TCP(傳輸控制協(xié)議)和 UDP(用戶數(shù)據(jù)報協(xié)議)。在協(xié)議族中,如圖所示,網(wǎng)絡層協(xié)議主要包括了 3 個重要的協(xié)議。 如圖所示,每個 level 都有不同工作: 1) 鏈路層,也稱為數(shù)據(jù)鏈路層或網(wǎng)絡接口層,通常包括 PC 機自身的網(wǎng)絡接口卡和本機操作系統(tǒng)中的設備驅(qū)動程序,用來處理相關的物理接口。對于某一個協(xié)議族,比如 TCP/IP,是一組不同層次上的多個協(xié)議的組合。 TCP/IP 組中的應用程序通常直接運行于傳輸層協(xié)議 TCP 或 UDP 上面,并不需要表示層(第 6 層)和會話層(第 5 層)的支持 [4]。數(shù)據(jù)鏈路層(第 2 層)的功能主要應用于其它協(xié)議如以太網(wǎng)( Ether)、 ATM、幀中繼( Frame Relay),以及多數(shù)供應商特定協(xié)議等。 TCP/IP 協(xié)議集確立了 Inter 的技術基礎 [2]。本論文所做的主要工作有: 1)對 TCP/IP 協(xié)議族進行了詳細的原理介紹和研究; 2)研究 socket 網(wǎng)絡編程 怎么對協(xié)議進行實現(xiàn); 3)在局域網(wǎng) windows 平臺搭建軟件環(huán)境,并模擬每個功能的實現(xiàn); 4)在局域網(wǎng)環(huán)境中實現(xiàn)和測試該軟件。隨著互聯(lián)網(wǎng)技術和計算機技術的飛速發(fā)展 ,即時通訊已成為人們交流的一種重要的方式 ,與 Email、電話相比 ,其更具有實時性和有效性。以 windows 系統(tǒng)平臺為例,在其下的不同類型的網(wǎng)絡編程接口中, Windows Socket 方便有效,越來越得到廣大用戶的喜愛,這是因為 Windows Socket 網(wǎng)絡編程規(guī)范是開源的并且支持多種協(xié)議的 Windows 平臺下的網(wǎng)絡編程接口。而且它是一個開放的系統(tǒng),因為協(xié)議族的定義和其多種實現(xiàn)都可以公開地得到,且都有一套既定的標準。 2 國內(nèi)外研究狀況 目前計算機的型號各不相同,而且也是來自不同的廠家,運行的時候采用不同的操作系統(tǒng),為了解決這一問題,就有了 TCP/IP 協(xié)議, TCP/IP 協(xié)議族允許它們互相進行通信。 本文主要研究的是一個具有高度實用性的聊天程序軟件的設計原理,思路和過程。這樣就會帶來極大的不便,而且還會存在性能,安全性等許多方面的問題,并且還容易泄漏一些個人隱私。 選題的背景及目的 20 世紀 90 年代以來,以因特網(wǎng) (Inter)為代表的計算機網(wǎng)絡得到了飛速的發(fā)展,已從最初的教育科研網(wǎng)絡逐步發(fā)展成為商業(yè)網(wǎng)絡,并已成為僅次 于全球電話網(wǎng)的世界第二大網(wǎng)絡。 習慣了通過類似 ICQ、 、 MSN 之類的程序和天南海北的朋友聊天、發(fā)信息,不過所有聊天程序都需要 Inter 的支持 [6],而無法在局域網(wǎng)內(nèi)部“大顯身手”,那么你是否想到過要讓單位內(nèi)部的員工,寢室周圍的同學,不用上 Inter 就可以輕松體驗到內(nèi)網(wǎng)聊天的快樂呢?有了這種想法 ,開發(fā)局域網(wǎng)聊天程序就有了必要性,讓單位員工或?qū)嬍彝瑢W不出內(nèi)網(wǎng)就能自由聊天! 本文主要研究的是一個具有高度實用性的聊天程序軟件的設計原理,思路和過程。而且將即時通訊服務和手機移動等服務結合,將更大地提高工作效率。無論近在咫尺,還是遠隔重洋,也只是在鍵盤和鼠標之間就可以解決問題。 Socket programming。 TCP/IP。經(jīng)過測試,程序能夠有效達到基本的預期要求。該軟件采用多線程技術支持多用戶操作,能夠幫助企業(yè)在局域網(wǎng)內(nèi)搭建起自己的聊天系統(tǒng)。并對網(wǎng)絡通訊原理進行了說明,在此基礎上利用 Socket 網(wǎng)絡編程實現(xiàn)了一種基于 windows 平臺的局域網(wǎng)聊天程序 。有的時候單位內(nèi)部的員工,同學,可能沒有互聯(lián)網(wǎng)環(huán)境或者其他的原因希望不用上 Inter就可以進行通訊,這樣開發(fā)局域網(wǎng)通訊程序就有了必要性。 4)有很好的錯誤檢測和處理機制。 2)TCP 使跨平臺,或稱為異構的網(wǎng)絡互聯(lián)成為可能。 5 實評總分 成績等級 評閱教師評審意見: 評閱教師簽名: 說明:評定成績
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1