麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開(kāi)發(fā) > Python > 正文

Python中實(shí)現(xiàn)遠(yuǎn)程調(diào)用(RPC、RMI)簡(jiǎn)單例子

2024-09-09 19:03:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

遠(yuǎn)程調(diào)用使得調(diào)用遠(yuǎn)程服務(wù)器的對(duì)象、方法的方式就和調(diào)用本地對(duì)象、方法的方式差不多,因?yàn)槲覀兺ㄟ^(guò)網(wǎng)絡(luò)編程把這些都隱藏起來(lái)了。遠(yuǎn)程調(diào)用是分布式系統(tǒng)的基礎(chǔ)。

遠(yuǎn)程調(diào)用一般分為兩種,遠(yuǎn)程過(guò)程調(diào)用(RPC)和遠(yuǎn)程方法調(diào)用(RMI)。

RPC

RPC屬于函數(shù)級(jí)別的遠(yuǎn)程調(diào)用,其多是通過(guò)HTTP傳輸數(shù)據(jù),數(shù)據(jù)形式有XML、JSON、序列化數(shù)據(jù)等。在此,用python做一個(gè)xml-rpc的示例。 先給服務(wù)器端server.py:
復(fù)制代碼 代碼如下:
from SimpleXMLRPCServer import SimpleXMLRPCServer  
def add(x, y):
    return x + y   
if __name__ == '__main__':
    s = SimpleXMLRPCServer(('127.0.0.1', 8080))
    s.register_function(add)
    s.serve_forever()
s是一個(gè)綁定了本地8080端口的服務(wù)器對(duì)象,register_function()方法將函數(shù)add注冊(cè)到s中。serve_forever()啟動(dòng)服務(wù)器。 再給個(gè)客戶(hù)端client.py:

from xmlrpclib import ServerProxy
if __name__ == '__main__':
    s = ServerProxy("http://127.0.0.1:8080")
    print s.add(3,4)
現(xiàn)在,運(yùn)行server.py,然后運(yùn)行client.py,client.py所在的console會(huì)輸出7。

我們用wireshark看一下這期間傳遞的數(shù)據(jù)是什么樣子的,請(qǐng)求的數(shù)據(jù):
復(fù)制代碼 代碼如下:
<?xml version='1.0' ?>
<methodCall>
    <methodName>
        add
    </methodName>
    <params>
        <param>
            <value>
                <int> 3 </int>
                </value>
        </param>
        <param>
            <value>
                <int> 4 </int>
            </value>
        </param>
    </params>
</methodCall>
響應(yīng)的數(shù)據(jù):
復(fù)制代碼 代碼如下:
<?xml version='1.0' ?>
<methodResponse>
    <params>
        <param>
            <value>
                <int> 7 </int>
            </value>
        </param>
    </params>
</methodResponse>
好吧,言簡(jiǎn)意賅,不做贅述。

RMI

RMI意為遠(yuǎn)程方法調(diào)用,粒度比RPC要大,因?yàn)樗幕締挝皇菍?duì)象。其大致思路是這樣的:創(chuàng)建RMI服務(wù)器對(duì)象,將實(shí)例化的某個(gè)對(duì)象以指定的服務(wù)名稱(chēng)(也可以是多個(gè)對(duì)象,但是服務(wù)名稱(chēng)不應(yīng)相同)注冊(cè)到RMI服務(wù)器對(duì)象中,之后啟動(dòng)RMI服務(wù)器。服務(wù)器等待客戶(hù)端發(fā)送的數(shù)據(jù)(包括服務(wù)名稱(chēng)、函數(shù)名、參數(shù)),將處理結(jié)果返回給客戶(hù)端。 Pyro4是一個(gè)基于python的RMI實(shí)現(xiàn),下面我們用Pyro4創(chuàng)建一個(gè)RMI服務(wù)器,請(qǐng)看server2.py:

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久草视频在线资源 | 国产精品一区在线看 | 午夜生活理论片 | 依依成人综合 | 久久精品亚洲一区 | 看国产一级毛片 | 久久色伦理资源站 | 成年人黄视频 | 成人一级毛片 | 在线播放污 | 欧美三级日本三级少妇99 | 亚洲最大的成人网 | 久久久国产精品网站 | 免费久久久久 | 一级成人毛片 | 国产一区二区三区在线免费 | 精品免费国产一区二区三区 | 中国的免费的视频 | 久久久精品福利 | 久久久一区二区三区四区 | 91精品最新国内在线播放 | 久久久久久中文字幕 | 91精品国产乱码久久久久 | 成人aaaaa片毛片按摩 | 欧美女孩videos| 亚洲第一成人在线观看 | 91成人免费看片 | 日本欧美一区二区三区视频麻豆 | 亚洲成人福利在线观看 | 黄色片网站免费在线观看 | 黄色特级大片 | 久久精品国产精品亚洲 | 中文字幕在线视频日本 | 久久羞羞视频 | 日本高清com | 中文字幕综合在线观看 | 色玖玖综合 | 久久精品视频3 | 欧美成人免费 | 国产精品亚洲yourport | 久久久久久91|