Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में XML-RPC सर्वर और क्लाइंट मॉड्यूल

समस्या विवरण

पायथन के xmlrpc.server और xmlrpc.client मॉड्यूल का उपयोग करके क्रॉस-प्लेटफॉर्म, भाषा-स्वतंत्र RPC सर्वर और क्लाइंट बनाएं।

सर्वर साइड

from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler

class RequestHandler(SimpleXMLRPCRequestHandler):
    rpc_paths = ('/RPC2',)

with SimpleXMLRPCServer(('localhost', 9000), requestHandler=RequestHandler) as server:
    # इंट्रोस्पेक्शन फंक्शन रजिस्टर करें (system.listMethods आदि)
    server.register_introspection_functions()
    
    # बिल्ट-इन len फंक्शन रजिस्टर करें
    server.register_function(len)
    
    # कस्टम फंक्शन रजिस्टर करें (अलग नाम से)
    @server.register_function(name='rmndr')
    def remainder_function(x, y):
        return x // y
    
    # कस्टम फंक्शन रजिस्टर करें (मूल नाम से)
    @server.register_function
    def modl(x, y):
        return x % y
    
    print("सर्वर पोर्ट 9000 पर चल रहा है...")
    server.serve_forever()

क्लाइंट साइड

import xmlrpc.client

# सर्वर प्रॉक्सी बनाएं
proxy = xmlrpc.client.ServerProxy('https://localhost:9000')

# रिमोट फंक्शन कॉल करें
print("len('Tutorialspoint'):", proxy.len("Tutorialspoint"))
print("rmndr(12, 5):", proxy.rmndr(12, 5))
print("modl(7, 3):", proxy.modl(7, 3))

# उपलब्ध विधियां सूचीबद्ध करें
print("उपलब्ध विधियां:", proxy.system.listMethods())

आउटपुट

len('Tutorialspoint'): 14
rmndr(12, 5): 2
modl(7, 3): 1
उपलब्ध विधियां: ['len', 'modl', 'rmndr', 'system.listMethods', 'system.methodHelp', 'system.methodSignature']

मुख्य बिंदु

  • XML-RPC HTTP पर XML का उपयोग करके रिमोट प्रोसीजर कॉल सक्षम करता है।
  • register_introspection_functions() से स्वचालित दस्तावेज़ीकरण मिलता है।
  • डेटा प्रकार: बुनियादी पायथन प्रकार (int, str, list, dict, bool, datetime) स्वचालित रूप से सीरियलाइज़ होते हैं।
  • उत्पादन के लिए सुरक्षा (SSL, प्रमाणीकरण) जोड़ें।
  1. Linux CentOS/RHEL पर NFS सर्वर और क्लाइंट कॉन्फ़िगर करना Linux CentOS/RHEL पर NFS सर्वर और क्लाइंट कॉन्फ़िगर करना

    नेटवर्क फाइल सिस्टम (NFS) फाइल और फोल्डर साझा करने के लिए एक वितरित फाइल सिस्टम प्रोटोकॉल है। NFS रिमोट प्रोसीजर प्रोटोकॉल (ONC RPC) पर आधारित है। NFS नेटवर्क पर रिमोट फाइल सिस्टम को माउंट करने की अनुमति देता है। याद रखें कि डिफ़ॉल्ट रूप से NFS का उपयोग करते समय डेटा एन्क्रिप्ट नहीं होता है, और क्ला

  1. पायथन में सहसंबंध और रिग्रेशन पायथन में सहसंबंध और रिग्रेशन

    सहसंबंध दो डेटा सेट के बीच निर्भरता वाले कुछ सांख्यिकीय संबंधों को संदर्भित करता है। जबकि रैखिक प्रतिगमन एक रैखिक दृष्टिकोण है जो एक आश्रित चर और एक या अधिक स्वतंत्र चर के बीच संबंध स्थापित करता है। एकल स्वतंत्र चर को रैखिक प्रतिगमन कहा जाता है जबकि एकाधिक स्वतंत्र चर को बहु प्रतिगमन कहा जाता है। स

  1. - पायथन में json और simplejson मॉड्यूल में क्या अंतर है?

    json` simplejson` है, जिसे स्टैंडर्ड लाइब्रेरी में जोड़ा गया है। लेकिन चूंकि `json` 2.6 में जोड़ा गया था, `simplejson` का लाभ अधिक पायथन संस्करणों (2.4+) पर काम करने का है। मुख्य अंतर पहलूjson (स्टैंडर्ड लाइब्रेरी)simplejson (थर्ड-पार्टी) उपलब्धतापायथन 2.6+ / 3.0+ में बिल्ट-इनपायथन 2.4+ के लिए अल