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

正文內(nèi)容

基于linux網(wǎng)絡聊天室的設計_畢業(yè)設計論文-全文預覽

2025-09-22 15:24 上一頁面

下一頁面
  

【正文】 )。 exit(1)。 pthread_t accthread,recthread。 3)利用 connect 函數(shù)將自己的 IP 地址等信息發(fā)送到主機,等待主機調(diào)用accept 函數(shù)來接受請求。 /*用連接地址自動填充 ip*/ Bind(sockfd,(stuct sockaddr*)amp。 a) 利用 bind 函數(shù)綁定端口和 IP 地址。 參數(shù)說明: How 的值為下面一種: 0不允許繼續(xù)接收; 1不允許繼續(xù)發(fā)送; 2不允許繼續(xù)發(fā)送和接收。 功能:發(fā)送信息。 作用:在面向連接的系統(tǒng)中客戶及連接服務器時使用, connect 必須在 bind 后使用。 參數(shù)說明: Sockfd:表示 socket 的文件描述符。 參數(shù)說明: Sockfd:表示 socket 調(diào)用返回的文件描述符。 參數(shù)說明: Sockfd: socket 的文件描述符號。AF_INT 是針對Inter 的,因而可以允許在遠程主機之間通信,實驗中使用 AF_INT。 因此,對于從每個客戶端發(fā)來的請求,服務器端都要創(chuàng)建相應的線程去接收并處理;同理,對于客戶端而言,也要創(chuàng)建一個線程去讀取服務器端發(fā)來的信息。因此,不能通過創(chuàng)建進程方式來解決上訴問題,因為兩個 進程會分別對應兩個不同的端口,而發(fā)送和接收必須使用同一端口。使用一個進程去完成發(fā)送信息是沒有問題的,因為發(fā)送總是主動的;而使用同一個進 程再去完成接受信息去不一定會成功,因為接受信息是被動的,所以當沒有信息可以接收時,該進程就會被阻塞,從而導致發(fā)送任務也一起被阻塞。 這是通過 Socket 實現(xiàn)點對點通信需要掌握的 4 個編程要點。 Socket 接口上 TCP/IP 網(wǎng)絡應用程序接口( API),它提供了許多函數(shù)和例程,程序員可以使用它們來開發(fā) TCP/IP 網(wǎng)絡應用程序。 recv()返回實際上接收的字節(jié)數(shù) , 或當出現(xiàn)錯誤時 ,返回 1 并置相應的 errno 值。 sockfd 是接收數(shù)據(jù)的 socket 描述符 。 send()函數(shù)返回實際上發(fā)送出的字節(jié)數(shù) , 可能會少于希望發(fā)送的數(shù)據(jù)。 send()函數(shù)原型為 : int send ( int sockfd, const void msg, int len, intflags) 。 addrlen 通常為一個指向值為 sizeof( struct sockaddr_in) 的整型指針變量。通過調(diào)用 accept()函數(shù)為其建立一個連接 , accept()函數(shù)將返回一個新的 socket 描述符 , 來供這個新連接來使用。backlog 指定在請求隊列中允許的最大請 求數(shù) , 進入的連接請求將在隊列中等待 accept()它們。進行客戶端程序設 計無須調(diào)用 bind(), 因為這種情況下只需知道目的機器的 IP 地址 , 而客戶通過哪個端口與服務器建立連接并不需要關心 , 內(nèi)核會自動選擇一個未被占用的端口供客戶端來使用。 connect()函數(shù)原型為 :int connect ( int sockfd, struct sockaddrserv_addr, int addrlen) 。 bind()函數(shù)在成功被調(diào)用時返回 0。需要指出的是 , 可以用下面的賦值實現(xiàn)自動獲得本機 IP 地址和隨機獲取一個沒有被占用的端口號 :=0。這一步對客戶端不是必需的。 protocol 通常賦值“ 0” , 意味套接口使用 TCP /IP 協(xié)議。連接一旦建立 ,客戶機和服務器之間就可以通過調(diào)用 send()和recv()來發(fā)送和接收數(shù)據(jù)。常用于檢驗新的協(xié)議實現(xiàn)或訪問。 數(shù)據(jù)被看作是字節(jié)流 , 無長度限制。套接字在 TCP /IP 網(wǎng)絡模型中的地位如圖 1 所示。 TCP /IP 是計算機互連最常使用的網(wǎng)絡通訊協(xié)議 , TCP /IP 的核心部分由網(wǎng)絡操作系統(tǒng)的內(nèi)核實現(xiàn) ,應用程序通過編程接口來訪問TCP /IP。套接口與電話的相似性還表現(xiàn)在另一方面。對方的電話號碼 ( 在對方的位置處 ) 。 Linux 操作系 統(tǒng)具有良好的穩(wěn)定性和出色的網(wǎng)絡性能 , 因此被廣泛應用于網(wǎng)絡服務領域。 Socket 在計算機中提供了一個通信端口 , 可以通過這個端口與任何一個具有 Socket 接口的計算機通信。所以多個客戶端之間的通信就變?yōu)榱丝蛻舳伺c服務端的通信。 由于 TCP 要提供可靠的、面向連接的運輸服務,所以不可避免地增加了許多系統(tǒng)開銷,比如確認、流量控制、計時器以及連接管理等都需要占用許多系統(tǒng)的時空資源。它的特點是:因無連接,故提供的是不可靠的信道,但也是因無連接而具有很好的傳輸效率。本聯(lián)盟就是想通過 bazaar 開發(fā)模型 ,在網(wǎng)上召集一些 Linux 的愛好者 ,開發(fā)出更優(yōu)秀的操作系統(tǒng)或 軟件。 ( 3) Linux 的明天 Linux 最強大的生命力在于其公開的開發(fā)過程。它既被當作郵件服務器的一種候選平臺 ,也被當作一種強壯而安全的防火墻。 1994 年 ,Linux 已經(jīng)升級到 版本。而 Linux 最初是專門為基于 Intel 的個人計算機設計的。 Unix 的最初版本免費提供給許多知名的大學的計算機系使用。 GPL 充分體現(xiàn)了 Stallman 的思想:只要用戶所做的修改是同等自由的 ,用戶可以自由地使用、拷貝、查詢、重用、修改甚至發(fā)布這個軟件。 提到 Linux 我們不能不提 GNU 和 Unix。但對很多習慣于 Windows 操作系統(tǒng)的人來說, Linux的操作不夠人性化、交互界面不夠美觀,這給 Linux 操作系統(tǒng)的普及帶來了很大的阻礙。 Linux 操作系統(tǒng)作為一個開源的操作系統(tǒng)被越來越多的人所應用,它的好處在于操作系統(tǒng)源代碼的公開化!只要是基于 GNU 公約的軟件你都可以任意使用并修改它的源代碼。作為一種操作系統(tǒng) ,它具有與 Unix,Mac,Windows 和 Windows NT 同樣的功能。按照 GNU 通用公共許可證的規(guī)定 ,Linux 的源代碼可以自由獲取 ,這滿足 了我們學習該系統(tǒng)的強烈愿望。后來 ,他們又在 PDP11 上用 C 語言重新編寫(發(fā)明 C 語言的部分目的就在于此) ,把 Unix 做成為了一個文本處理系統(tǒng) ,這使 Unix 在貝爾實驗室得到廣泛的應用。 Unix 不斷發(fā)展了 ,各種版本被應用到不同的計算機使用。后來 ,他又開始了在因特網(wǎng)上尋求廣泛的幫助?,F(xiàn)在的 Linux 內(nèi)核由150 多行代碼組成 ,能作為 Web 服務器平臺 ,也為越來越多的商業(yè)用戶提供文件和打印服務。 KDE 桌面提供的圖形用戶界面在易用性和可配置方面都能和 微軟的 Windows 相媲美。 Bazaar 開發(fā)模型通過重視實驗 ,征集并充分利用早期的反饋 ,對巨大數(shù)量的腦力資源進行平衡配置 ,可以開發(fā)出更優(yōu)秀的軟件。 UDP 在傳送數(shù)據(jù)之前不需要先建立連接,遠地主機的傳輸層在收到 udp 數(shù)據(jù)報后,不需要給出任何確認,所以不能保證其交付時可靠。 TCP 不提供廣播和多播服務。 圖 12 TCP 連接的釋放過程 客戶 /服務器模型 在 客戶 /服務器模型中,多 個相互通信的計算機都作為客戶端,與網(wǎng)絡服務器進行連接,并通過服務器進行信息的傳遞。這個 API 稱 為 Socket 接口 ( 套接口 ) 。今天 , Socket 接口是 TCP /IP 網(wǎng)絡最為 通用的 API, 也是在 Inter 上進行應用開發(fā)最為通用的 API。 當雙方進行通話的時候 , 就建立了一個具有兩個端點的通信線路 ,這兩個端點是 :本地的電話號碼 ( 在本地位置 ) 。套接口代表通信線路中的端點
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1