কম্পিউটার

পাইথনে 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 সার্ভার এবং ক্লায়েন্ট কনফিগার করা হচ্ছে

  2. পাইথনে পারস্পরিক সম্পর্ক এবং রিগ্রেশন

  3. কিভাবে পাইথন মডিউল এবং তাদের নির্ভরতা সহজেই ইনস্টল করবেন?

  4. json এবং simplejson Python মডিউলের মধ্যে পার্থক্য কি?