基于linux的socket編程的聊天室設(shè)計(jì)

基于linux的socket編程的聊天室設(shè)計(jì)

ID:6634275

大?。?14.62 KB

頁(yè)數(shù):20頁(yè)

時(shí)間:2018-01-20

基于linux的socket編程的聊天室設(shè)計(jì)_第1頁(yè)
基于linux的socket編程的聊天室設(shè)計(jì)_第2頁(yè)
基于linux的socket編程的聊天室設(shè)計(jì)_第3頁(yè)
基于linux的socket編程的聊天室設(shè)計(jì)_第4頁(yè)
基于linux的socket編程的聊天室設(shè)計(jì)_第5頁(yè)
資源描述:

《基于linux的socket編程的聊天室設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、LINUX課程設(shè)計(jì)基于Linux的socket編程的聊天室設(shè)計(jì)專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):姓名:學(xué)號(hào):指導(dǎo)老師:郭玉華2020一、實(shí)驗(yàn)?zāi)康幕赟ocket套接口,實(shí)現(xiàn)聊天程序的設(shè)計(jì)與實(shí)現(xiàn),增強(qiáng)程序編寫(xiě)能力,了解基于socket的程序設(shè)計(jì)方法,加深對(duì)計(jì)算機(jī)網(wǎng)絡(luò)通信的理解。另外,通過(guò)課程設(shè)計(jì)培養(yǎng)自己嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,認(rèn)真的工作作風(fēng)、團(tuán)隊(duì)協(xié)作精神、自主設(shè)計(jì)和獨(dú)力思考的能力。二、實(shí)驗(yàn)原理實(shí)驗(yàn)中,客戶(hù)應(yīng)用程序向服務(wù)器程序請(qǐng)求服務(wù)。服務(wù)進(jìn)程一直處于休眠狀態(tài),直到一個(gè)客戶(hù)向這個(gè)服務(wù)的地址提出了連接請(qǐng)求。在這個(gè)時(shí)刻,服務(wù)程序被"驚醒"并且為客戶(hù)提供服務(wù)-對(duì)客戶(hù)的請(qǐng)求作出適當(dāng)?shù)姆磻?yīng)。?客戶(hù)端部分:

2、?1.手動(dòng)輸入服務(wù)器端IP地址和端口號(hào)進(jìn)行連接2.發(fā)送消息給服務(wù)器端并顯示服務(wù)器端回傳的消息3.監(jiān)控連接狀態(tài),客戶(hù)離開(kāi)或故障時(shí)從列表中刪除相應(yīng)表項(xiàng),并及時(shí)更新連接表。服務(wù)器端部分:?201.手動(dòng)建立服務(wù)器端與客戶(hù)端的連接請(qǐng)求2.把用戶(hù)輸入的信息及時(shí)發(fā)送到服務(wù)端,同時(shí)準(zhǔn)備好接受,并顯示信息。3.在用戶(hù)退出時(shí)關(guān)閉連接并保存聊天記錄??蛻?hù)端-服務(wù)器端架構(gòu):20相關(guān)函數(shù):socket()函數(shù):intsocket(intfamily,inttype,intproto);1)family指定protocolfamily(PF_INET對(duì)應(yīng)TCP/IP).2)type指定服務(wù)類(lèi)型(SOCK_

3、STREAM,SOCK_DGRAM).3)protocol指定協(xié)議(通常0,代表缺省值).bind()函數(shù):給socket綁定一個(gè)地址.intbind(intsockfd,conststructsockaddr*myaddr,socklen_taddrlen);bind返回值20listen()函數(shù):accept()函數(shù):intaccept(intsockfd,structsockaddr*cliaddr,socklen_t*addrlen);sockfd是被動(dòng)模式的TCPsocket.cliaddr指針,指向一個(gè)已分配好的空間.返回客戶(hù)地址.addrlen是一個(gè)value-r

4、esult參數(shù)必須設(shè)置為cliaddr的空間大小20返回時(shí),將被設(shè)置為使用cliaddr的空間大小.。LINUX簡(jiǎn)介:Linux操作系統(tǒng)是UNIX操作系統(tǒng)的一種克隆系統(tǒng)。它誕生于1991年的10月5日。由于Linux是開(kāi)源和免費(fèi)的,得到了廣大計(jì)算機(jī)愛(ài)好者全力支持,現(xiàn)已成為今天世界上使用最多的一種UNIX類(lèi)操作系統(tǒng)。其具有的特點(diǎn)有:開(kāi)放性:指系統(tǒng)遵循世界標(biāo)準(zhǔn)規(guī)范,特別是遵循開(kāi)放系統(tǒng)互連(OSI)國(guó)際標(biāo)準(zhǔn)。多用戶(hù):是指系統(tǒng)資源可以被不同用戶(hù)使用,每個(gè)用戶(hù)對(duì)自己的資源(例如:文件、設(shè)備)有特定的權(quán)限,互不影響。多任務(wù):它是指計(jì)算機(jī)同時(shí)執(zhí)行多個(gè)程序,而且各個(gè)程序的運(yùn)行互相獨(dú)立。良好的用

5、戶(hù)界面:Linux向用戶(hù)提供了兩種界面,用戶(hù)界面和系統(tǒng)調(diào)用。Linux還為用戶(hù)提供了圖形用戶(hù)界面,它利用鼠標(biāo)、菜單、窗口、滾動(dòng)條等設(shè)施,給用戶(hù)呈現(xiàn)一個(gè)直觀、易操作、交互性強(qiáng)的友好圖形化界面。設(shè)備獨(dú)立性:是指操作系統(tǒng)把所有外部設(shè)備統(tǒng)一當(dāng)作成文件來(lái)看待,只要安裝它們的驅(qū)動(dòng)程序,任何用戶(hù)都可以像使用文件一樣,操縱、使用這些設(shè)備,而不必知道它們的具體存在形式。Linux是具有設(shè)備獨(dú)立性的操作系統(tǒng),它的內(nèi)核具有高度適應(yīng)能力,提供了豐富的網(wǎng)絡(luò)功能,完善的內(nèi)置網(wǎng)絡(luò)是Linux一大特點(diǎn)。安全性:Linux采取了許多安全技術(shù)措施,包括對(duì)讀、寫(xiě)控制、帶保護(hù)的子系統(tǒng)、審計(jì)跟蹤、核心授權(quán)等,這為網(wǎng)絡(luò)多

6、用戶(hù)環(huán)境中的用戶(hù)提供了必要的安全保障。良好的可移植性:是指將操作系統(tǒng)從一個(gè)平臺(tái)轉(zhuǎn)移到另一個(gè)平臺(tái),它仍然能按其自身的方式運(yùn)行的能力。Linux是一種可移植的操作系統(tǒng),能夠在從微型計(jì)算機(jī)到大型計(jì)算機(jī)的任何環(huán)境中和任何平臺(tái)上運(yùn)行。20TCP簡(jiǎn)介:TCP與UDP同為傳輸層協(xié)議。本系統(tǒng)采用的傳輸協(xié)議TCP協(xié)議。TCP協(xié)議提供的是可靠的、面向連接的傳輸控制協(xié)議,即在傳輸數(shù)據(jù)前要先建立邏輯連接,然后再傳輸數(shù)據(jù),最后釋放連接3個(gè)過(guò)程。TCP提供端到端、全雙工通信;采用字節(jié)流方式,如果字節(jié)流太長(zhǎng),將其分段;提供緊急數(shù)據(jù)傳送功能。TCP協(xié)議主要特點(diǎn):1、面向連接的傳輸;2、端到端的通信;3、高可靠

7、性,確保傳輸數(shù)據(jù)的正確性,不出現(xiàn)丟失或亂序;4、全雙工方式傳輸;5、采用字節(jié)流方式,即以字節(jié)為單位傳輸字節(jié)序列;6、緊急數(shù)據(jù)傳送功能;一、實(shí)驗(yàn)實(shí)現(xiàn)//--------------------------------server.c--------------------------------------------------//包含工程所需的頭文件#include#include#include#include

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。