在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ROS中XMLRPC是什么

麥辣雞腿堡 ? 來(lái)源:古月居 ? 作者:古月居 ? 2023-09-14 17:40 ? 次閱讀

XMLRPC是什么?

關(guān)于ROS節(jié)點(diǎn)建立連接的技術(shù)細(xì)節(jié),官方文檔說(shuō)的非常簡(jiǎn)單,在這里ROS Technical Overview。沒(méi)有基礎(chǔ)的同學(xué)看這個(gè)介紹必然還是不懂。

在ROS中,節(jié)點(diǎn)與節(jié)點(diǎn)之間的通信依靠節(jié)點(diǎn)管理器(master)牽線搭橋。

master像一個(gè)中介,它介紹節(jié)點(diǎn)們互相認(rèn)識(shí)。一旦節(jié)點(diǎn)們認(rèn)識(shí)了以后,master就完成自己的任務(wù)了,它就不再摻和了。

這也是為什么你啟動(dòng)節(jié)點(diǎn)后再殺死m(xù)aster,節(jié)點(diǎn)之間的通信依然保持正常的原因。

使用過(guò)電驢和迅雷而且研究過(guò)BitTorrent的同學(xué)對(duì)master的工作方式應(yīng)該很熟悉,master就相當(dāng)于Tracker服務(wù)器,它存儲(chǔ)著其它節(jié)點(diǎn)的信息。

我們每次下載之前都會(huì)查詢Tracker服務(wù)器,找到有電影資源的節(jié)點(diǎn),然后就可以與它們建立連接并開(kāi)始下載電影了。

那么master是怎么給節(jié)點(diǎn)牽線搭橋的呢?ROS使用了一種叫XMLRPC的方式實(shí)現(xiàn)這個(gè)功能。

XMLRPC中的RPC的意思是遠(yuǎn)程過(guò)程調(diào)用(Remote Procedure Call)。

簡(jiǎn)單來(lái)說(shuō),遠(yuǎn)程過(guò)程調(diào)用的意思就是一個(gè)計(jì)算機(jī)中的程序(在我們這就是節(jié)點(diǎn)啦)可以調(diào)用另一個(gè)計(jì)算機(jī)中的函數(shù),只要這兩個(gè)計(jì)算機(jī)在一個(gè)網(wǎng)絡(luò)中。

這是一種聽(tīng)上去很高大上的功能,它能讓節(jié)點(diǎn)去訪問(wèn)網(wǎng)絡(luò)中另一臺(tái)計(jì)算機(jī)上的程序資源。

XMLRPC中的XML我們?cè)?.1節(jié)講消息序列化時(shí)提到了,它就是一種數(shù)據(jù)表示方式而已。

所以合起來(lái),XMLRPC的意思就是把由XML表示的數(shù)據(jù)發(fā)送給其它計(jì)算機(jī)上的程序運(yùn)行。

運(yùn)行后返回的結(jié)果仍然以XML格式返回回來(lái),然后我們通過(guò)解析它(還原回純粹的數(shù)據(jù))就能干別的事了。

想了解更多XMLRPC的細(xì)節(jié)可以看這個(gè)XML-RPC:概述。

舉個(gè)例子,一個(gè)XMLRPC請(qǐng)求是下面這個(gè)樣子的。因?yàn)閄MLRPC是基于HTTP協(xié)議的,所以下面的就是個(gè)標(biāo)準(zhǔn)的HTTP報(bào)文。

POST / HTTP/1.1
User-Agent: XMLRPC++ 0.7
Host: localhost:11311
Content-Type: text/xml
Content-length: 78


< ?xml version="1.0"? >
< methodCall >
   < methodName >circleArea< /methodName >
      < params >
         < param >
            < value >< double >2.41< /double >< /value >
         < /param >
      < /params >
< /methodCall >

如果你沒(méi)學(xué)過(guò)HTTP協(xié)議,看上面的語(yǔ)句可能會(huì)感到陌生?!秷D解HTTP》這本小書(shū)可以讓你快速入門(mén)。

HTTP報(bào)文比較簡(jiǎn)單,它分兩部分,前半部分是頭部,后半部分是主體。

頭部和主體之間用空行分開(kāi),這都是HTTP協(xié)議規(guī)定的標(biāo)準(zhǔn)。

上面主體部分的格式就是XML,見(jiàn)的多了你就熟悉了。

所以,XMLRPC傳遞的消息其實(shí)就是主體部分是XML格式的HTTP報(bào)文而已,沒(méi)什么神秘的。

對(duì)應(yīng)客戶端一個(gè)XMLRPC請(qǐng)求,服務(wù)器端會(huì)執(zhí)行它并返回一個(gè)響應(yīng),它也是一個(gè)HTTP報(bào)文,如下。

它的結(jié)構(gòu)和請(qǐng)求一樣,不再解釋了。所以,XMLRPC跟我們上網(wǎng)瀏覽網(wǎng)頁(yè)的過(guò)程其實(shí)差不多。

HTTP/1.1 200 OK
Date: Sat, 06 Oct 2001 23:20:04 GMT
Server: Apache.1.3.12 (Unix)
Connection: close
Content-Type: text/xml
Content-Length: 124


< ?xml version="1.0"? >
< methodResponse >
   < params >
      < param >
         < value >< double >18.24668429131< /double >< /value >
      < /param >
   < /params >
< /methodResponse >
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 節(jié)點(diǎn)
    +關(guān)注

    關(guān)注

    0

    文章

    220

    瀏覽量

    24528
  • 管理器
    +關(guān)注

    關(guān)注

    0

    文章

    248

    瀏覽量

    18618
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    280

    瀏覽量

    17102
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    系統(tǒng)鏡像Ubuntu_ROS2ROS2是什么意思,帶有ROS2開(kāi)發(fā)環(huán)境嗎?

    請(qǐng)問(wèn)一下,百度文庫(kù)資料里面,下圖所示的系統(tǒng)鏡像Ubuntu_ROS2ROS2是什么意思,帶有ROS2開(kāi)發(fā)環(huán)境嗎?與前面4GB版本的鏡像有什么區(qū)別?
    發(fā)表于 03-01 23:06

    如何在ROS2運(yùn)行小烏龜呢

    ROS2運(yùn)行小烏龜,其實(shí)主要就是安裝兩個(gè)工具,turtlesim和rqt。A: 安裝turtlesim。輸入【sudo apt update】輸入【sudo apt install
    發(fā)表于 11-05 06:08

    什么是ROS?如何學(xué)習(xí)ROS?

    什么是ROS?如何學(xué)習(xí)ROS?
    發(fā)表于 11-11 07:21

    ROS簡(jiǎn)介

    目錄一、ROS簡(jiǎn)介1、什么是ROS2、ROS產(chǎn)生、發(fā)展和壯大的原因和意義二、在Ubuntu系統(tǒng),安裝對(duì)應(yīng)版本的ROS軟件1、確定Ubunt
    發(fā)表于 12-17 08:24

    怎樣去使用ROS的launch啟動(dòng)文件呢

    怎樣去使用ROS的launch啟動(dòng)文件呢?ROS的launch啟動(dòng)文件該怎樣去使用呢?
    發(fā)表于 02-14 07:23

    基于FreeRTOS的micro(微型)ROS

    編輯整理:strongerHuang 作者:Francesca Finocchiaro 關(guān)注我的讀者應(yīng)該有部分是做ROS相關(guān)的工作,今天就來(lái)分享一個(gè)基于FreeRTOS的micro(微型)ROS
    的頭像 發(fā)表于 09-25 14:16 ?2403次閱讀
    基于FreeRTOS的micro(微型)<b class='flag-5'>ROS</b>

    ROS的序列化實(shí)現(xiàn)

    理解了序列化,再回到ROS。我們發(fā)現(xiàn),ROS沒(méi)有采用第三方的序列化工具,而是選擇自己實(shí)現(xiàn),代碼在roscpp_core項(xiàng)目下的roscpp_serialization,見(jiàn)下圖。這個(gè)功能涉及的代碼量
    的頭像 發(fā)表于 09-14 17:26 ?961次閱讀

    ROS是如何實(shí)現(xiàn)XMLRPC

    XMLRPC的C++代碼在下載后的ros_comm-noetic-develutilitiesxmlrpcpp路徑下。 還好,整個(gè)工程不算太大。XMLRPC分成客戶端和服務(wù)器端兩大部分。 咱們先看
    的頭像 發(fā)表于 09-14 17:45 ?739次閱讀

    節(jié)點(diǎn)是如何調(diào)用XMLRPC

    節(jié)點(diǎn)間通過(guò)XMLRPC建立連接 在一個(gè)節(jié)點(diǎn)剛啟動(dòng)的時(shí)候,它并不知道其它節(jié)點(diǎn)的存在,更不知道它們?cè)诮徽勈裁?,?dāng)然也就談不上通信。 所以,它要先與master對(duì)話查詢其它節(jié)點(diǎn)的狀態(tài),然后再與其它節(jié)點(diǎn)通信
    的頭像 發(fā)表于 09-14 17:52 ?805次閱讀
    節(jié)點(diǎn)是如何調(diào)用<b class='flag-5'>XMLRPC</b>的

    ROS核心框架介紹

    ROS核心框架 對(duì)于第一個(gè)問(wèn)題,我也沒(méi)仔細(xì)研究過(guò)源碼,核心代碼基本由python和C++組成,運(yùn)用了xmlrpc機(jī)制,每個(gè)運(yùn)行的節(jié)點(diǎn)可以理解成一個(gè)進(jìn)程。進(jìn)程間通訊有些是共享內(nèi)存的方式(比如
    的頭像 發(fā)表于 11-21 18:07 ?1054次閱讀
    <b class='flag-5'>ROS</b>核心框架介紹

    ROS的TF該如何使用

    TF命令行操作 ROS的TF該如何使用呢?我們先通過(guò)兩只小海龜?shù)氖纠?,了解下基于坐?biāo)系的一種機(jī)器人跟隨算法。 小海龜跟隨例程 這個(gè)示例需要我們先安裝相應(yīng)的功能包,然后就可以通過(guò)一個(gè)launch文件
    的頭像 發(fā)表于 11-22 17:24 ?1249次閱讀
    <b class='flag-5'>ROS</b><b class='flag-5'>中</b>的TF該如何使用

    ros的基本概念是什么

    基本概念: ROS是一個(gè)用于在不同進(jìn)程間匿名的發(fā)布、訂閱、傳遞信息的中間件。 ROS2系統(tǒng)的核心部分是ROS網(wǎng)絡(luò)(ROS Graph)。 ROS
    的頭像 發(fā)表于 11-27 11:21 ?1889次閱讀

    ROS2自帶例程測(cè)試

    如果你是一個(gè)ROS2的開(kāi)發(fā)者,可能對(duì)剛才我們使用的ROS2命令比較熟悉,這時(shí)你可能也會(huì)產(chǎn)生一個(gè)問(wèn)題:我們之前也安裝了ROS2系統(tǒng),那ROS2的原生功能還可以正常運(yùn)行么? 我們?cè)賮?lái)試一試
    的頭像 發(fā)表于 11-28 16:29 ?1035次閱讀
    <b class='flag-5'>ROS</b>2<b class='flag-5'>中</b>自帶例程測(cè)試

    在TogetherROS如何安裝ROS2功能包

    安裝ROS2功能包 接下來(lái),還有一個(gè)很重要的配置,那就是安裝ROS2功能包,我們說(shuō)TogetherROS是基于ROS2深度優(yōu)化的,很多模塊還是會(huì)復(fù)用ROS2
    的頭像 發(fā)表于 12-01 16:02 ?1069次閱讀
    在TogetherROS<b class='flag-5'>中</b>如何安裝<b class='flag-5'>ROS</b>2功能包

    ros怎么設(shè)置環(huán)境變量

    可以使用的動(dòng)態(tài)的值,用于影響運(yùn)行程序的行為。環(huán)境變量通常包含一些關(guān)鍵信息,如路徑、用戶名、顏色選項(xiàng)等。 在ROS,環(huán)境變量是重要的,因?yàn)樗鼈冇糜诖_定ROS如何運(yùn)行和找到相關(guān)文件和程序。 為什么要設(shè)置
    的頭像 發(fā)表于 12-28 13:52 ?2195次閱讀
    主站蜘蛛池模板: 久久中出 | 国产女人伦码一区二区三区不卡 | 久久夜色精品国产噜噜 | 香蕉色网| www.色日本| 亚洲资源在线观看 | 亚洲第一在线视频 | 美女和帅哥在床上玩的不可描述 | 国产乱人视频在线看 | 亚洲嫩草影院在线观看 | 永久免费影视在线观看 | 国产精品天天干 | 特黄特色大片免费播放路01 | 看黄视频网站 | 日本www色高清视频 日本www色视频 | 99热最新在线观看 | 国产婷婷一区二区三区 | 啪啪网免费视频 | 三级毛片网 | 欧美视频不卡一区二区三区 | 国产午夜精品不卡片 | 一级aaaaa毛片免费视频 | 午夜毛片不卡高清免费 | 一夜七次郎久久综合伊人 | 在线二区| 毛片三级在线观看 | 毛片观看网址 | 欧美乱理伦另类视频 | 免费人成在线观看视频播放 | 国产午夜a理论毛片在线影院 | 女人被男人免费播放网站 | 视频在线观看一区二区 | tube69日本老师| 欧美zoozzooz性欧美 | 色在线视频观看 | a成人在线| 欧美亚洲视频一区 | 特黄特色的视频免费播放 | 免费视频不卡一区二区三区 | 日本欧美一区二区三区视频 | 午夜影院视频 |