bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

go語言u(píng)dp指定源組播 golang udp服務(wù)

udp組播服務(wù)器地址填什么

地址使用的是D類IP地址(224.0.0.0到239.255.255.255)。

在朝陽縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站制作,朝陽縣網(wǎng)站建設(shè)費(fèi)用合理。

UDP組播的基本步驟:創(chuàng)建udp socket、bind、加入組播組、發(fā)送/接收數(shù)據(jù)、close。

組播傳輸:數(shù)據(jù)發(fā)送者(源數(shù)據(jù))將同一數(shù)據(jù)發(fā)送到多個(gè)接受者(組播組成員)。無論有多少個(gè)接受者,在整個(gè)網(wǎng)絡(luò)鏈路上,只有一份該數(shù)據(jù)(在特殊場合,可以節(jié)省帶寬,減少主干網(wǎng)絡(luò)阻塞)。

QT UDP 編程,QT是否支持Source Specific Multicast(SSM)源特定組播,具體實(shí)現(xiàn)代碼?O(∩_∩)O謝謝

Qt 有函數(shù)可以加入組播的.不過要Qt 4.8 或以上的版本才有....

bool joinMulticastGroup(const QHostAddress groupAddress)

如何在VLC v1.1.7上設(shè)置特定源組播,如何設(shè)定souce源和模式?

也是找了好幾個(gè)月了,不管過不過期先分享下,后人少走點(diǎn)麻煩

打開CMD命令行進(jìn)VLC工作目錄,用命令行運(yùn)行vlc,后面帶參數(shù),比如:

vlc rtp://192.168.1.1@224.1.1.1:1234

其中RTP可以換UDP,192.168.1.1是指定源

coredns源碼分析

CoreDNS是使用go語言編寫的快速靈活的DNS服務(wù),采用鏈?zhǔn)讲寮J剑總€(gè)插件實(shí)現(xiàn)獨(dú)立的功能,底層協(xié)議可以是tcp/udp,也可以是TLS,gRPC等。默認(rèn)監(jiān)聽所有ip地址,可使用bind插件指定監(jiān)聽指定地址。

格式如下

SCHEME是可選的,默認(rèn)值為dns://,也可以指定為tls://,grpc://或者h(yuǎn)ttps://。

ZONE是可選的,指定了此dnsserver可以服務(wù)的域名前綴,如果不指定,則默認(rèn)為root,表示可以接收所有的dns請求。

PORT是選項(xiàng)的,指定了監(jiān)聽端口號(hào),默認(rèn)為53,如果這里指定了端口號(hào),則不能通過參數(shù)-dns.port覆蓋。

一塊上面格式的配置表示一個(gè)dnsserver,稱為serverblock,可以配置多個(gè)serverblock表示多個(gè)dnsserver。

下面通過一個(gè)例子說明,如下配置文件指定了4個(gè)serverblock,即4個(gè)dnsserver,第一個(gè)監(jiān)聽端口5300,后面三個(gè)監(jiān)聽同一個(gè)端口53,每個(gè)dnsserver指定了特定的插件。

下圖為配置的簡略圖

a. 從圖中可看到插件執(zhí)行順序不是配置文件中的順序,這是因?yàn)椴寮?zhí)行順序是在源碼目錄中的plugin.cfg指定的,一旦編譯后,順序就固定了。

b. .根serverblock雖然指定了health,但是圖中卻沒有,這是因?yàn)閔ealth插件不參與dns請求的處理。能處理dns請求的插件必須提供如下兩個(gè)接口函數(shù)。

dns請求處理流程

收到dns請求后,首先根據(jù)域名匹配zone找到對(duì)應(yīng)的dnsserver(最長匹配優(yōu)先),如果沒有匹配到,則使用默認(rèn)的root dnsserver。

找到dnsserver后,就要按照插件順序執(zhí)行其中配置的插件,當(dāng)然并不是配置的插件都會(huì)被執(zhí)行,如果某個(gè)插件成功找到記錄,則返回成功,否則根據(jù)插件是否配置了fallthrough等來決定是否執(zhí)行下一個(gè)插件。

plugin.cfg

源碼目錄下的plugin.cfg指定了插件執(zhí)行順序,如果想添加插件,可按格式添加到指定位置。

源碼目錄下的Makefile根據(jù)plugin.cfg生成了兩個(gè)go文件:zplugin.go和zdirectives.go。

core/dnsserver/zdirectives.go將所有插件名字放在一個(gè)數(shù)組中。

codedns 主函數(shù)

codedns.go 首先導(dǎo)入了包"github點(diǎn)抗 /coredns/coredns/core/plugin",此包內(nèi)只有一個(gè)文件zplugin.go,此文件為自動(dòng)生成的,主要導(dǎo)入了所有的插件,執(zhí)行每個(gè)插件的init函數(shù)。

接著執(zhí)行 run.go Run

此文件又引入了包"github點(diǎn)抗 /coredns/coredns/core/dnsserver",其init函數(shù)在 dnsserver/register.go 文件中,如下所示,主要是注冊了serverType

剩下的就是解析參數(shù),解析配置文件后,執(zhí)行caddy.Start。

這里就是根據(jù)配置文件中指定的serverblock,執(zhí)行插件的setup進(jìn)行初始化,創(chuàng)建對(duì)應(yīng)的server,開始監(jiān)聽dns請求

tcp協(xié)議調(diào)用Serve,udp協(xié)議調(diào)用ServePacket

收到DNS請求后,調(diào)用ServeDNS,根據(jù)域名匹配dnsserver,如果沒有匹配不到則使用根dnsserver,然后執(zhí)行dnsserver中配置的插件

以k8s插件為例

參考

//如何寫coredns插件

//coredns源碼分析

//NodeLocal DNSCache

本文名稱:go語言u(píng)dp指定源組播 golang udp服務(wù)
文章源于:http://vcdvsql.cn/article32/ddsidsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站收錄企業(yè)網(wǎng)站制作虛擬主機(jī)品牌網(wǎng)站制作網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司