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

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

हम XML-RPC प्रोटोकॉल का उपयोग करके अपना स्वयं का क्रॉस-प्लेटफ़ॉर्म, भाषा-स्वतंत्र सर्वर बना सकते हैं। हम SimpleXMLRPCServer का उपयोग SimpleXMLRPCServer इंस्टेंस बनाने के लिए करते हैं और इसे आने वाले अनुरोधों को सुनने के लिए कहते हैं। आगे हम सेवा का हिस्सा बनने के लिए कुछ फ़ंक्शन को परिभाषित करते हैं और उन कार्यों को पंजीकृत करते हैं ताकि सर्वर को पता चले कि इसे कैसे कॉल करना है।

सर्वर चलाना

नीचे दिए गए उदाहरण में हम SimpleXMLRPCServer इंस्टेंस का उपयोग करके एक सर्वर बनाते हैं और कुछ पूर्व-परिभाषित और साथ ही कस्टम फ़ंक्शंस को पंजीकृत करते हैं। अंत में, हम सर्वर को अनुरोधों को प्राप्त करने और उनका जवाब देने के लिए एक अनंत लूप में डाल देते हैं।

उदाहरण

from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler
class RequestHandler(SimpleXMLRPCRequestHandler):
   rpc_paths = ('/RPC2',)
with SimpleXMLRPCServer(('localhost', 9000),
                        requestHandler=RequestHandler) as server:
   server.register_introspection_functions()
   # Register len() function;
   server.register_function(len)
   # Register a function under a different name
   @server.register_function(name='rmndr')
   def remainder_function(x, y):
      return x // y
   # Register a function under function.__name__.
   @server.register_function
   def modl(x, y):
      return x % y
   server.serve_forever()

एक बार उपरोक्त सर्वर शुरू हो जाने के बाद, इसे क्लाइंट प्रोग्राम द्वारा कॉल किया जा सकता है जो फ़ंक्शन को संदर्भित कर सकता है और फ़ंक्शन कॉल कर सकता है।

क्लाइंट चलाना

उदाहरण

import xmlrpc.client
s = xmlrpc.client.ServerProxy('https://localhost:9000')
print(s.len("Tutorialspoint"))
print(s.rmndr(12,5))
print(s.modl(7,3))
# Print list of available methods
print(s.system.listMethods())

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

14
2
1
['len', 'modl', 'rmndr', 'system.listMethods', 'system.methodHelp', 'system.methodSignature']

  1. Linux CentOS/RHEL पर NFS सर्वर और क्लाइंट को कॉन्फ़िगर करना

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

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

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

  1. जेसन और सिंपलजेसन पायथन मॉड्यूल के बीच अंतर क्या हैं?

    json is simplejson, stdlib में जोड़ा गया। लेकिन चूंकि json को 2.6 में जोड़ा गया था, simplejson को और अधिक Python संस्करणों (2.4+) पर काम करने का लाभ है। simplejson को भी Python की तुलना में अधिक बार अपडेट किया जाता है। हालांकि वे समान हैं, stdlib में शामिल संस्करण में नवीनतम अनुकूलन शामिल नहीं हैं।