廣播-組播本地套接字_第1頁
廣播-組播本地套接字_第2頁
廣播-組播本地套接字_第3頁
廣播-組播本地套接字_第4頁
廣播-組播本地套接字_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

==tcpudp使用場(chǎng) tcp登錄數(shù)據(jù)的傳http協(xié)傳輸層協(xié)議-udp效率高-聊通有實(shí)力的大公使用在應(yīng)用層自定義協(xié)議,14-廣播-組播-本地套接字的第3

服務(wù) 創(chuàng)建套接字-structsockaddr_incli.sin_family=cli.port=inet_pton(af_inet,"

綁定端口B綁定端口C綁定端口□sendto(fd,buf,len,0,□接收數(shù)據(jù)-server14-廣播-組播-本地套接字的第4組組使用范圍局域結(jié)構(gòu)美人兒去struct{播組的IP地址structin_addr//本地某一網(wǎng)絡(luò)設(shè)備接口的IP地址structin_addr //網(wǎng)卡編struct{in_addr_t組播公用組播地址,可以用于Internet;欲使用需申本地管理組播地址,僅在特定的本地范圍內(nèi)有服務(wù)器端操作客戶端操作===-

客戶端-綁定固定端口:8989綁定固定端口:綁定固定端口:管道:套接字:

頭文件頭文件#defineUNIX_PATH_MAXkernel_sa_family_tsun_family;charsun_path[UNIX_PATH_MAX]; intlfd=socket(AF_LOCAL,sock_stream,綁定structsockaddr_unserv;serv.sun_family=af_local;strcpy(serv.sun_path,server.socket");-bind(lfd(structsockaddr8)&serv, 設(shè)置structsockaddr_un intlen=sizeof();intcfd=accept(ldf,&,intfd=socket(af_local,sock_stream,structsockaddr_un.sun_family=strcpy(.sun_path,".socket");--現(xiàn)在還不存bind(fd(struct , structsockaddr_unserv;serv.sun_family=af_local;strcpy(serv.sun_path,server.socket");-connect(fd,&serv,4-心跳客戶判斷客戶端和服務(wù)器是否處于客戶心跳不會(huì)攜帶大量的數(shù)心跳包看成一個(gè)協(xié)應(yīng)用層協(xié)判斷網(wǎng)絡(luò)是否斷有多個(gè)連續(xù)的心跳包沒收到/沒有回關(guān)閉通信的套接重--乒乓

繼續(xù)發(fā)送心

1個(gè)字比心跳包攜帶的數(shù)據(jù)多一除了知道連接是否存在,還能獲取一些信struct{uint32_t epoll_data_t

typedefunion{ }structmyevent_sint intevents; void*arg; void(*call_back)(intfd,intevents,void intstatus; //是否在:1->在樹上(),0->不在(不)charbuf[BUFLEN];intlong //記錄每次加入樹g_efd的時(shí)間epoll反應(yīng)堆工作模 自己的epoll模在server創(chuàng)建樹的根節(jié)點(diǎn)樹上添加需要->讀->有返回->通信-在server創(chuàng)建樹的根節(jié)點(diǎn)樹上添加需要->讀->有返回->通信(接收數(shù)據(jù))->將這個(gè)fd從樹上刪除->寫->寫操作->fd從樹上摘下來->fd的讀->epoll_wait水平模式structepoll_eventev.events=函數(shù)會(huì)返回,緩沖區(qū)滿的時(shí)候,不返回邊緣模式第一次設(shè)置的時(shí)候epoll_wait會(huì)返回一緩沖區(qū)從滿->到不滿的時(shí)14-廣播-組播-本地套接字的第13

線程阻塞條件-任務(wù)隊(duì)列已滿,

任務(wù)對(duì)列如果為空pthread_cond_wait(&cond_empty,創(chuàng)建線程: 管理者線程 線程池中的線程計(jì)算線程不夠 -從任務(wù)隊(duì)列中取數(shù)創(chuàng)建線 ○任務(wù)隊(duì)列任務(wù)-空閑線程太 ○執(zhí)行任銷 -銷毀空閑的線更新要銷毀的線通過條件變量完

讓線程執(zhí)行阻塞空閑的線程如果空閑太多,任務(wù)不 解除阻線程阻塞在該條件量

只有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論