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

多進(jìn)程并發(fā)TCP服務(wù)器模型(含客戶端)(網(wǎng)絡(luò)編程 C語(yǔ)言實(shí)現(xiàn))

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

摘要:大家都知道不同pc間的通信需要用到套接字sockte來(lái)實(shí)現(xiàn),但是服務(wù)器一次只能收到一個(gè)客戶端發(fā)來(lái)的消息,所以為了能讓服務(wù)器可以接收多個(gè)客戶端的連接與消息的傳遞,我們就引入了多進(jìn)程并發(fā)這樣一個(gè)概念。聽(tīng)名字就可以知道--需要用到進(jìn)程,當(dāng)然也有多線程并發(fā)今天我們講進(jìn)程的就可以了,線程的同理。

????????基本原理:?每連接一個(gè)客戶端,創(chuàng)建一個(gè)子進(jìn)程,子進(jìn)程負(fù)責(zé)處理connfd(客戶請(qǐng)求)?
父進(jìn)程處理sockfd(連接請(qǐng)求)。

常用函數(shù)

socket() 創(chuàng)建套接字
bind() 綁定本機(jī)地址和端口
connect() 建立連接
listen() 設(shè)置監(jiān)聽(tīng)套接字
accept() 接受TCP連接
recv(), read(), recvfrom() 數(shù)據(jù)接收
send(), write(), sendto() 數(shù)據(jù)發(fā)送
close(), shutdown() 關(guān)閉套接字
?

各函數(shù)使用方法和參數(shù)返回值

socket() 創(chuàng)建套接字

int socket (int domain, int type, int protocol);
domain 是地址族
PF_INET // internet 協(xié)議
PF_UNIX // unix internal協(xié)議
PF_NS // Xerox NS協(xié)議
PF_IMPLINK // Interface Message協(xié)議
type // 套接字類型
SOCK_STREAM // 流式套接字
SOCK_DGRAM // 數(shù)據(jù)報(bào)套接字
SOCK_RAW // 原始套接字
protocol 參數(shù)通常置為0

connect() 建立連接

int connect(int sockfd, struct sockaddr *serv_addr, int addrlen);
返回值:0 或 -1
sockfd : socket返回的文件描述符
serv_addr : 服務(wù)器端的地址信息
addrlen : serv_addr的長(zhǎng)度

bind() 綁定本機(jī)地址和端口

int bind (int sockfd, struct sockaddr* addr, int addrLen);
sockfd 由socket() 調(diào)用返回
addr 是指向 sockaddr_in 結(jié)構(gòu)的指針,包含本機(jī)IP 地址和端口號(hào)
struct sockaddr_in
????????????????u_short sin_family // protocol family
????????????????u_short sin_port // port number
????????????????struct in_addr sin_addr //IP address (32-bits)
addrLen : sizeof (struct sockaddr_in)


listen() 設(shè)置監(jiān)聽(tīng)套接字文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-582053.html

sockfint listen (int sockfd, int backlog);

sockfd:監(jiān)聽(tīng)連

到了這里,關(guān)于多進(jìn)程并發(fā)TCP服務(wù)器模型(含客戶端)(網(wǎng)絡(luò)編程 C語(yǔ)言實(shí)現(xià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)文章

  • C/S客戶端核服務(wù)端-并發(fā)服務(wù)器

    1、新建兩個(gè)程序,分別引用兩個(gè)函數(shù),先執(zhí)行server端的程序,再執(zhí)行client端的程序 2、實(shí)現(xiàn)功能:當(dāng)client和sever連接成功后,從client輸入什么都會(huì)傳輸給server端,當(dāng)輸入第一個(gè)字母為q時(shí) 兩端程序都會(huì)退出 3、特別注意:需要修改SERVER_HOST 為自己主機(jī)地址 4、本程序編寫的環(huán)境

    2024年02月09日
    瀏覽(23)
  • Qt 服務(wù)器/客戶端TCP通訊

    Qt 服務(wù)器/客戶端TCP通訊

    最近需要用到TCP/IP通訊,這邊就先找個(gè)簡(jiǎn)單的例程學(xué)習(xí)一下。Qt的TCP通訊編程可以使用QtNetwork模塊,QtNetwork模塊提供的類能夠創(chuàng)建基于TCP/IP的客戶端與服務(wù)端應(yīng)用程序,一般會(huì)使用QTcpSocket、QTcpServer類 網(wǎng)絡(luò)通信方式主要有兩種:TCP與UDP。以下拷貝網(wǎng)絡(luò)上總結(jié)兩者之間的區(qū)別:

    2023年04月26日
    瀏覽(18)
  • QT實(shí)現(xiàn)tcp服務(wù)器客戶端
  • TCP實(shí)現(xiàn)服務(wù)器和客戶端通信

    TCP實(shí)現(xiàn)服務(wù)器和客戶端通信

    目錄 TCP介紹 代碼實(shí)現(xiàn) server(服務(wù)器端) 代碼分析 client(客戶端) 代碼分析 結(jié)果展示 TCP (Transmission Control Protocol) 是一種面向連接的協(xié)議,用于在計(jì)算機(jī)網(wǎng)絡(luò)中傳輸數(shù)據(jù)。TCP 可以確保數(shù)據(jù)的可靠傳輸,即使在網(wǎng)絡(luò)環(huán)境不穩(wěn)定的情況下也能夠保證數(shù)據(jù)的完整性和順序。以下是

    2024年02月15日
    瀏覽(39)
  • 簡(jiǎn)易TCP客戶端和服務(wù)器端通信

    #includeiostream #include winsock2.h ? #include ws2tcpip.h ? #includestdlib.h using namespace std; #define ?BUF_SIZE ?1024 int main() { ? ? cout \\\"客戶端\\\" endl; ? ? //設(shè)置Winsock版本, ? ? WSADATA ? wsaData; ? ? if (WSAStartup(MAKEWORD(2, 2), wsaData) != 0) ? ? { ? ? ? ? cout \\\"error\\\" endl; ? ? ? ? exit(1); ? ? } ? ? //創(chuàng)建通

    2024年04月29日
    瀏覽(23)
  • 【Micropython基礎(chǔ)】TCP客戶端與服務(wù)器

    【Micropython基礎(chǔ)】TCP客戶端與服務(wù)器

    MicroPython 是 Python 的一種精簡(jiǎn)實(shí)現(xiàn),旨在運(yùn)行于微控制器和嵌入式系統(tǒng)等資源受限的環(huán)境中。它提供了一種簡(jiǎn)單而強(qiáng)大的方式來(lái)編寫和運(yùn)行 Python 代碼,使開發(fā)人員能夠快速地創(chuàng)建各種嵌入式應(yīng)用程序。 在嵌入式系統(tǒng)中,網(wǎng)絡(luò)通信是一個(gè)常見(jiàn)的需求,而 TCP(傳輸控制協(xié)議)是

    2024年04月28日
    瀏覽(30)
  • TCP客戶端及服務(wù)器端開發(fā)實(shí)踐

    TCP客戶端及服務(wù)器端開發(fā)實(shí)踐

    ① TCP客戶端應(yīng)用程序開發(fā) ② TCP服務(wù)器端應(yīng)用程序開發(fā) 客戶端程序是指運(yùn)行在用戶設(shè)備上的程序,服務(wù)端程序是指運(yùn)行在服務(wù)器設(shè)備上的程序,專門為客戶端提供數(shù)據(jù)服務(wù)。那如何記憶呢? 主動(dòng)發(fā)起建立連接請(qǐng)求的是客戶端程序,等待接受連接請(qǐng)求的是服務(wù)端程序。 開發(fā)流

    2024年04月09日
    瀏覽(27)
  • TCP服務(wù)器監(jiān)測(cè)客戶端異常退出方法

    ????????作為服務(wù)器必須得具備監(jiān)測(cè)客戶端狀態(tài)得機(jī)制,以保證客戶端處于不同的狀態(tài),服務(wù)器進(jìn)行不同得狀態(tài)處理,依次來(lái)提高實(shí)時(shí)性,可控性,并且有利于服務(wù)器得內(nèi)存管理。其中客戶端得異常處理就屬于其中得一種。 ????????客戶端得斷開情形無(wú)非就兩種情況:

    2024年02月09日
    瀏覽(32)
  • 用C語(yǔ)言搭建TCP服務(wù)器/客戶端

    用C語(yǔ)言搭建TCP服務(wù)器/客戶端

    1.TCP流程圖 2.TCP編程 服務(wù)器 客戶端 ????????以上就是用c語(yǔ)言搭建的tcp服務(wù)器和客戶端,IP地址的地方可以根據(jù)自己本機(jī)的IP地址去修改(在命令提示符中可以使用ifconfig命令查看本機(jī)IP地址),端口號(hào)用的是6666,也可自己修改,但是IP地址和端口號(hào)服務(wù)器和客戶端必須一至。

    2024年02月09日
    瀏覽(23)
  • tcp服務(wù)器端與多個(gè)客戶端連接

    tcp服務(wù)器端與多個(gè)客戶端連接

    如果希望Tcp服務(wù)器端可以與多個(gè)客戶端連接,可以這樣寫: 相關(guān)的槽函數(shù)中: 使用sender()來(lái)獲取對(duì)應(yīng)的QTcpSocket對(duì)象。 其實(shí),主要就是QTcpServer進(jìn)行監(jiān)聽(tīng): 客戶端的QTcpSocket與服務(wù)器端的QTcpSocket進(jìn)行通信。

    2024年04月28日
    瀏覽(48)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包