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

正文內(nèi)容

課程設(shè)計---基于linux網(wǎng)絡(luò)聊天室的設(shè)計-免費閱讀

2024-12-18 17:37 上一頁面

下一頁面
  

【正文】 } if(strcmp(msg,exit) == 0){ printf(Byebye!\n)。 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計 》 第 22 頁 共 21 頁 } if((pthread_create(amp。 } = AF_INET。 } } int main(int argc,char *argv[]){ struct hostent *he。 if((numbytes = recv(sockfd,buf,MAXDATASIZE,0)) == 1){ perror(recv)。 close(new_fd)。accthread,NULL,(void *)acceptconnect,NULL)) != 0){ printf(Create thread error!\r\n)。 bzero(amp。recthread,NULL,(void *)recmessage,NULL))!= 0){ printf(Create thread error!\r\n)。 int sin_size。 } buf[numbytes] = 39。但我從中學(xué)到了不少的道理,真正的理解到,理論與實踐之間還是有很大的距離,這必將有利于我們以后的學(xué) 習(xí)。 開始運行后,客戶端窗口的執(zhí)行順序為: 1) 接收服務(wù)器端發(fā)來的 消 息“ This is server” ,如圖 所示。 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計 》 第 13 頁 共 21 頁 5 運行效果 (1)在編寫 完 TCP 服務(wù)端程序 后,用 gcc – lpthread – o server 生成程序 server。 /* 將端口給其賦值 */ =INADDR_ANY。 (7)close( ) 和 shutdown ( ) 格式: Close( int sockfd) 或 Int shutdown(int sockfd , int how)。 (5)connect() 格式: int connect( int sockfd , struct sockaddr *serv_addr , int addrlen)。 作用:監(jiān)聽連接信號,和 accepted 函數(shù)合同。 其中, AF_UNLX 只能夠用于單一的 UNIX 系統(tǒng)進程間通信 。所以多個客戶端之間的通信就變?yōu)榱丝蛻舳伺c服務(wù)端的通信 。線程不是資源分配的單位,所以如果使用兩個線程不會對線程分配新的端口。 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計 》 第 8 頁 共 21 頁 上述點對點通信的實現(xiàn)知識完成了主機進程與服務(wù)器進程之間的連接,建立連接的進程之間是一對一的聯(lián)系,即主 機的一個進程與服務(wù)器的一個進程之間建立的連接。 圖 TCP 連接的釋放過程 /服務(wù)器模型 在客戶 /服務(wù)器模型中,多個相互通信的計算機都作為客戶端,與網(wǎng)絡(luò)服務(wù)器進行連接,并通過服務(wù)器進行信息的傳遞 [3]。它是以中午連接的邏輯通信信道。 由于 Linux 的開源的特點,越來越多的人轉(zhuǎn)而使用 Linux 做為 PC 機的操作系統(tǒng)。 Linux 的企業(yè)級特性 ,比如支持多處理器、支持大型文件系統(tǒng)、日志文件系統(tǒng)以及密集型計算和高可用性集群技術(shù) ,也逐步成熟。 (1)Linux 的昨天 1991 年 ,一名叫 Linus Torvalds 的芬蘭大學(xué)生對 Unix 各種版本對于 80386 類的機器的脆弱支持十分不滿 ,他決 定要開發(fā)出一個全功能的、支持 POSIX 標(biāo)準(zhǔn)的、類 Unix 的操作系統(tǒng)內(nèi)核 ,該系統(tǒng)吸收了 BSD 和 System V 的優(yōu)點 ,同進摒棄了它們的缺點。通過這種方式 ,GPL 保證了Linux(以及同一許可證下的大量其他軟件)不僅現(xiàn)在自由可用 ,而且皮后經(jīng)過任何修改這后都仍然可以自由使用。兩個部分都使用 C 語言,利用 vi 編輯器,通過 Berkeley 套接口編程實現(xiàn)相關(guān)功能 。兩個部分都使用 C 語言,利用 vi 編輯器,通過 Berkeley 套接口編程實現(xiàn)相關(guān)功能 要求: ( 1) 主要實現(xiàn)一個 Linux 下的局域網(wǎng)聊 天工具的設(shè)計 , 進一步掌握 vi,gcc 等工具的使用,并且熟悉 Linux 下的網(wǎng)絡(luò)編程,以及多線程編程 。 ( 2)通過實際項目的分析、安裝、配置、測試等工作,掌握用 Linux系統(tǒng)下的 網(wǎng)絡(luò)聊天室的應(yīng)用 。 關(guān)鍵詞 Linux; 網(wǎng)絡(luò)聊天室 ; 客戶端 ; 主機; 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計 》 第 3 頁 共 21 頁 1 引 言 課程設(shè)計背景 Linux 是一種針對 PC 計算機和工作站的操作系統(tǒng) ,它具有像 Windows 和 Mac 那樣的功能齊全的圖形用戶界面( GUI,Graphical User Interface)。 Unix 是由 AT— T 貝爾實驗室的 Ken Thompson 和 Dennis Ritchie 于 1969 年在一臺已經(jīng)廢棄了的 PDP7 上開發(fā)的;最初它是一個用匯編語言寫成的單用戶操作系統(tǒng)。他獨立把這個內(nèi)核開發(fā)到 版 ,這個版本已經(jīng)可以運行 gcc、 bash 和很少的一些應(yīng)用程序。 桌面上的 Linux 也在繼續(xù)完善。但是Linux 的真正 興起只是在最近幾年,因此很多功能并不是很完善,并且由于 Linux 的開源特征,很多軟件開發(fā)公司很難從中獲得直接利益,因此很多 Windows 上的實用的軟件,在Linux 下卻很少見。 UDP 在傳送數(shù)據(jù)之前不需要先建立連接,遠地主機的傳輸層在收到 udp 數(shù)據(jù)報后,不需要給出任何確認(rèn),所以不能保證其交付時可靠。所以多個客戶端之間的通信就變?yōu)榱丝蛻舳伺c服務(wù)端的通信。而每個進程進行通信的環(huán)節(jié)都包括了發(fā)送信息和接口信息兩個任務(wù),這兩個任務(wù)通過一個端口地址發(fā)送和接收。因此,本實驗需要使用兩個線程去分別完成發(fā)送和接收信息的任務(wù),這兩個線程共享其進程擁有的統(tǒng)一個端口地址。 服務(wù) 器 端和客戶端的主要組成如下: 服務(wù)器 端:套接字創(chuàng)建函數(shù) Socket(),端口綁定函數(shù) Bind(),套接口監(jiān)聽函數(shù) Listen(),接受連接函數(shù) Accept(),數(shù)據(jù)收發(fā)函數(shù) Read()和 Write(),以及套接口關(guān)閉函數(shù) Close()。AF_INT 是針對 Inter 的,因而可以允許在遠程主機之間通信,實驗中使用 AF_INT。 參數(shù)說明: Sockfd:表示 socket 調(diào)用返回的文件描述符。 作用:在面向 連接的系統(tǒng)中客戶及連接服務(wù)器時使用, connect 必須在 bind 后使用。 參數(shù)說明: How 的值為下面一種: 0不允許繼續(xù)接收; 1不允許繼續(xù)發(fā)送; 2不允許繼續(xù)發(fā)送和接收。 /*用連接地址自動填充 ip*/ Bind(sockfd,(stuct sockaddr*)amp。 (2)在編寫完 TCP 客戶端程序 后,用 gcc – lpthread – o client 生成程序 client (3)在主機上打開一窗口,運行 server。 圖 接收服務(wù)器端消息 2) 發(fā)送消息 “ This is client”給服務(wù)器端如圖 所示。使我明白,在以后的學(xué)習(xí)中,要
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1