国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

計(jì)算機(jī)網(wǎng)絡(luò)套接字編程實(shí)驗(yàn)-TCP多進(jìn)程并發(fā)服務(wù)器程序與單進(jìn)程客戶端程序(簡(jiǎn)單回聲)

這篇具有很好參考價(jià)值的文章主要介紹了計(jì)算機(jī)網(wǎng)絡(luò)套接字編程實(shí)驗(yàn)-TCP多進(jìn)程并發(fā)服務(wù)器程序與單進(jìn)程客戶端程序(簡(jiǎn)單回聲)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.實(shí)驗(yàn)系列

·Linux NAP-Linux網(wǎng)絡(luò)應(yīng)用編程系列

2.實(shí)驗(yàn)?zāi)康?/p>

·理解多進(jìn)程(Multiprocess)相關(guān)基本概念,理解父子進(jìn)程之間的關(guān)系與差異,熟練掌握基于fork()的多進(jìn)程編程模式;

·理解僵尸進(jìn)程產(chǎn)生原理,能基于|sigaction()或signal(),使用waitpid()規(guī)避僵尸進(jìn)程產(chǎn)生;

·理解Linux 文件系統(tǒng)的組織方式,掌握文件描述符的基本概念,理解主進(jìn)程 fork()進(jìn)程后,子進(jìn)程對(duì)于主進(jìn)程fork()前創(chuàng)建的文件描述符的繼承關(guān)系;

·在「TCP單進(jìn)程循環(huán)服務(wù)器與單進(jìn)程客戶端」的基礎(chǔ)上,進(jìn)一步實(shí)踐鞏固:a.單進(jìn)程循環(huán)服務(wù)器套接字編程基本模式;

b.服務(wù)器對(duì)于客戶端正常結(jié)束的識(shí)別處理;c.客戶端基于命令行指令的退出實(shí)現(xiàn)方式;

d.服務(wù)器基于SIGINT 信號(hào)的退出實(shí)現(xiàn)方式(僵速系統(tǒng)調(diào)用退出問(wèn)題);

同時(shí),還要進(jìn)一步理解并掌握TCP多進(jìn)程并發(fā)服務(wù)器套接字編程模式與技能,包括:a.多進(jìn)程并發(fā)服務(wù)器套接字編程核心系統(tǒng)調(diào)用模式:

b.多進(jìn)程并發(fā)服務(wù)器規(guī)避產(chǎn)生僵尸進(jìn)程的基本模式(包括 SIGCHLD 處理等);c.簡(jiǎn)單應(yīng)用層協(xié)議及其PDU的設(shè)計(jì)、構(gòu)建與解析處理;

d.文件的讀寫(xiě)應(yīng)用

3.實(shí)驗(yàn)內(nèi)容

·編寫(xiě)TCP多進(jìn)程循環(huán)服務(wù)器程序與單進(jìn)程客戶端程序,實(shí)現(xiàn)以下主體功能:??蛻舳藛?dòng)連接服務(wù)器之后,進(jìn)入命令行交互模式。

操作人員在命令行窗口輸入一行字符并回車(chē)后,客戶端進(jìn)程立刻從命令行(本質(zhì)即 stdin)讀取數(shù)據(jù),并將該行信息發(fā)送給服務(wù)器。

·服務(wù)器收到該行信息后,會(huì)將該信息原封不動(dòng)的返回給客戶端,即所謂消息回聲(Message Echo)。。客戶端收到服務(wù)器返回的消息回聲后,將其打印輸出至屏幕(本質(zhì)即 stdout)。

·客戶端在從命令行收到 EXIT 指令后退出。

·若服務(wù)器啟動(dòng)時(shí)設(shè)定 Established Queue的長(zhǎng)度,即listen()第二個(gè)參數(shù)backlog為2,則最多可 以有2個(gè)客戶編同時(shí)連上服務(wù)器并開(kāi)展交互,此時(shí),再啟動(dòng)另一個(gè)客戶端連接服務(wù)器,觀察體驗(yàn)是什么現(xiàn)象,并嘗試分析現(xiàn)象背后的底層邏輯。

·本實(shí)驗(yàn)不考核以下內(nèi)容:SIGPIPE 信號(hào)處理、基于多次讀取的PDU完整獲取、PDU 完整設(shè)計(jì)、多進(jìn)程客戶端.

·本實(shí)驗(yàn)不涉及復(fù)雜業(yè)務(wù),僅要求進(jìn)行PDU筒單設(shè)計(jì)(增加了頭部要求,但不涉及長(zhǎng)度字段),實(shí)現(xiàn)簡(jiǎn)單消息回聲服務(wù),以幫助學(xué)生理解并構(gòu)建多進(jìn)程并發(fā)服務(wù)器程序的基本框架。

·【重要假設(shè)】

·當(dāng)網(wǎng)絡(luò)與主機(jī)環(huán)境均比較理想時(shí),可以支持客戶端與服務(wù)器實(shí)現(xiàn)對(duì)于PDU的一次性收發(fā)」,即僅通過(guò) read()/write()的一次調(diào)用,即可實(shí)現(xiàn)PDU(本實(shí)驗(yàn)中即消息/消息回聲)的「完整收發(fā)」.

·本實(shí)驗(yàn)中,數(shù)據(jù)傳輸量很?。▽⒚鞔_限定一行數(shù)據(jù)的上限),且測(cè)評(píng)時(shí)客戶端與服務(wù)器進(jìn)程均在同一容器內(nèi)工作,故而不會(huì)出現(xiàn)一次收發(fā)不能處理「單—PDU」的場(chǎng)景。

服務(wù)器端代碼:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-520150.html

#include <stdio.h>        
#include <stdlib.h>     //exit()函數(shù)相關(guān)
#include <unistd.h>     //C 和 C++ 程序設(shè)計(jì)語(yǔ)言中提供對(duì) POSIX 操作系統(tǒng) API 的訪問(wèn)功能的頭文件
#include <sys/types.h>  //Unix/Linux系統(tǒng)的基本系統(tǒng)數(shù)據(jù)類(lèi)型的頭文件,含有size_t,time_t,pid_t等類(lèi)型
#include <sys/socket.h> //套接字基本函數(shù)相關(guān)
#include <netinet/in.h> //IP地址和端口相關(guān)定義,比如struct sockaddr_in等
#include <arpa/inet.h>  //inet_pton()等函數(shù)相關(guān)
#include <string.h>    //bzero()函數(shù)相關(guān)
#include <signal.h>
#include <errno.h>
#include <sys/wait.h> //SIGCHLD信號(hào)使用
#include <pthread.h>
#define BACKLOG    5      //listen函

到了這里,關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)套接字編程實(shí)驗(yàn)-TCP多進(jìn)程并發(fā)服務(wù)器程序與單進(jìn)程客戶端程序(簡(jiǎn)單回聲)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 計(jì)算機(jī)網(wǎng)絡(luò)套接字編程實(shí)驗(yàn)-TCP多進(jìn)程并發(fā)服務(wù)器程序與單進(jìn)程客戶端程序(簡(jiǎn)單回聲)

    1.實(shí)驗(yàn)系列 ·Linux NAP-Linux網(wǎng)絡(luò)應(yīng)用編程系列 2.實(shí)驗(yàn)?zāi)康?·理解多進(jìn)程(Multiprocess)相關(guān)基本概念,理解父子進(jìn)程之間的關(guān)系與差異,熟練掌握基于fork()的多進(jìn)程編程模式; ·理解僵尸進(jìn)程產(chǎn)生原理,能基于|sigaction()或signal(),使用waitpid()規(guī)避僵尸進(jìn)程產(chǎn)生; ·

    2024年02月12日
    瀏覽(36)
  • 計(jì)算機(jī)網(wǎng)絡(luò)套接字編程實(shí)驗(yàn)-TCP單進(jìn)程循環(huán)服務(wù)器程序與單進(jìn)程客戶端程序(簡(jiǎn)單回聲)

    1.實(shí)驗(yàn)系列 ·Linux NAP-Linux網(wǎng)絡(luò)應(yīng)用編程系列 2.實(shí)驗(yàn)?zāi)康?·理解并掌握在程序運(yùn)行時(shí)從命令行讀取數(shù)據(jù)的C語(yǔ)言編程方法; ·理解并掌握基于命令參數(shù)設(shè)置并獲取IP與Port的C語(yǔ)言編程方法; ·理解并掌握套接字地址的數(shù)據(jù)結(jié)構(gòu)定義與地址轉(zhuǎn)換函數(shù)應(yīng)用; ·理解并掌握網(wǎng)絡(luò)字節(jié)序

    2024年02月11日
    瀏覽(43)
  • 【計(jì)算機(jī)網(wǎng)絡(luò)】socket 網(wǎng)絡(luò)套接字

    【計(jì)算機(jī)網(wǎng)絡(luò)】socket 網(wǎng)絡(luò)套接字

    實(shí)際上我們兩臺(tái)機(jī)器在進(jìn)行通信時(shí),是應(yīng)用層在進(jìn)行通信,應(yīng)用層必定會(huì)推動(dòng)下層和對(duì)方的上層進(jìn)行通信。 其實(shí)網(wǎng)絡(luò)協(xié)議棧中的下三層,主要解決的是數(shù)據(jù)安全可靠的送到遠(yuǎn)端機(jī)器。而用戶使用應(yīng)用層軟件,完成數(shù)據(jù)發(fā)送和接收的。那么用戶要使用軟件,首先需要把這個(gè)軟件

    2024年02月22日
    瀏覽(31)
  • 計(jì)算機(jī)網(wǎng)絡(luò)(2) --- 網(wǎng)絡(luò)套接字UDP

    計(jì)算機(jī)網(wǎng)絡(luò)(2) --- 網(wǎng)絡(luò)套接字UDP

    計(jì)算機(jī)網(wǎng)絡(luò)(1) --- 網(wǎng)絡(luò)介紹_哈里沃克的博客-CSDN博客 https://blog.csdn.net/m0_63488627/article/details/131967378?spm=1001.2014.3001.5501 目錄 1.端口號(hào) 2.TCP與UDP協(xié)議 1.TCP協(xié)議介紹 1.TCP協(xié)議 2.UDP協(xié)議 3.理解 2.網(wǎng)絡(luò)字節(jié)序 發(fā)送邏輯 3.socket 1.介紹 2.sockaddr結(jié)構(gòu) 4.UDP協(xié)議編程 1.接口介紹 1.創(chuàng)建套接字

    2024年02月14日
    瀏覽(29)
  • 計(jì)算機(jī)網(wǎng)絡(luò)(3) --- 網(wǎng)絡(luò)套接字TCP

    計(jì)算機(jī)網(wǎng)絡(luò)(3) --- 網(wǎng)絡(luò)套接字TCP

    計(jì)算機(jī)網(wǎng)絡(luò)(2) --- 網(wǎng)絡(luò)套接字UDP_哈里沃克的博客-CSDN博客 https://blog.csdn.net/m0_63488627/article/details/131977544?spm=1001.2014.3001.5501 目錄 1.TCP 1.服務(wù)端接口介紹 1.listen狀態(tài) 2.accept獲取鏈接 2.客戶端接口介紹 2.TCP的服務(wù)器和客戶端接口實(shí)現(xiàn) 1.服務(wù)端 1.成員函數(shù) 2.接口 start()實(shí)現(xiàn)方式 1.單

    2024年02月14日
    瀏覽(37)
  • 計(jì)算機(jī)網(wǎng)絡(luò) | socket IPC(本地套接字domain)

    計(jì)算機(jī)網(wǎng)絡(luò) | socket IPC(本地套接字domain)

    歡迎關(guān)注博主 Mindtechnist 或加入【Linux C/C++/Python社區(qū)】一起學(xué)習(xí)和分享Linux、C、C++、Python、Matlab,機(jī)器人運(yùn)動(dòng)控制、多機(jī)器人協(xié)作,智能優(yōu)化算法,濾波估計(jì)、多傳感器信息融合,機(jī)器學(xué)習(xí),人工智能等相關(guān)領(lǐng)域的知識(shí)和技術(shù)。 專(zhuān)欄:《Linux從小白到大神》《網(wǎng)絡(luò)編程》 soc

    2024年02月08日
    瀏覽(30)
  • 網(wǎng)絡(luò)編程套接字 | UDP套接字

    網(wǎng)絡(luò)編程套接字 | UDP套接字

    前面的文章中我們敘述了網(wǎng)絡(luò)編程套接字的一些預(yù)備知識(shí)點(diǎn),從本文開(kāi)始我們就將開(kāi)始UDP套接字的編寫(xiě)。本文中的服務(wù)端與客戶端都是在阿里云的云服務(wù)器進(jìn)行編寫(xiě)與測(cè)試的。 在v1的版本中我們先來(lái)使用一下前面講過(guò)得一些接口,簡(jiǎn)單的構(gòu)建一個(gè)udp服務(wù)器: 然后運(yùn)行上述的程

    2024年02月09日
    瀏覽(385)
  • 【網(wǎng)絡(luò)】網(wǎng)絡(luò)編程套接字

    【網(wǎng)絡(luò)】網(wǎng)絡(luò)編程套接字

    目錄 一、預(yù)備知識(shí) 1、網(wǎng)絡(luò)通信理解 2、源IP地址和目的IP地址 3、端口號(hào) 二、網(wǎng)絡(luò)字節(jié)序 三、socket編程接口 1、socket常見(jiàn)API 2、sockaddr結(jié)構(gòu) 3、sockaddr結(jié)構(gòu)體 3.1、sockaddr結(jié)構(gòu)體 3.2、sockaddr_in結(jié)構(gòu)體 四、簡(jiǎn)單的UDP網(wǎng)絡(luò)程序 1、創(chuàng)建套接字接口 2、綁定端口號(hào) 3、服務(wù)器運(yùn)行 4、創(chuàng)建

    2024年02月14日
    瀏覽(91)
  • 【JaveEE】網(wǎng)絡(luò)編程之TCP套接字、UDP套接字

    【JaveEE】網(wǎng)絡(luò)編程之TCP套接字、UDP套接字

    目錄 1.網(wǎng)絡(luò)編程的基本概念 1.1為什么需要網(wǎng)絡(luò)編程? 1.2服務(wù)端與用戶端 1.3網(wǎng)絡(luò)編程五元組? 1.4套接字的概念 2.UDP套接字編程 2.1UDP套接字的特點(diǎn) ?2.2UDP套接字API 2.2.1DatagramSocket類(lèi) 2.2.2DatagramPacket類(lèi)? 2.2.3基于UDP的回顯程序 2.2.4基于UDP的單詞查詢? 3.TCP套接字編程 3.1TCP套接字的特

    2023年04月13日
    瀏覽(915)
  • 【JavaEE】網(wǎng)絡(luò)編程之TCP套接字、UDP套接字

    【JavaEE】網(wǎng)絡(luò)編程之TCP套接字、UDP套接字

    目錄 1.網(wǎng)絡(luò)編程的基本概念 1.1為什么需要網(wǎng)絡(luò)編程? 1.2服務(wù)端與用戶端 1.3網(wǎng)絡(luò)編程五元組? 1.4套接字的概念 2.UDP套接字編程 2.1UDP套接字的特點(diǎn) ?2.2UDP套接字API 2.2.1DatagramSocket類(lèi) 2.2.2DatagramPacket類(lèi)? 2.2.3基于UDP的回顯程序 2.2.4基于UDP的單詞查詢? 3.TCP套接字編程 3.1TCP套接字的特

    2023年04月20日
    瀏覽(120)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包