একটি Basic Thrift সার্ভার এবং ক্লায়েন্ট তৈরি করা
এখানে একটি মৌলিক Thrift সার্ভার এবং ক্লায়েন্ট তৈরি করার পদক্ষেপ দেওয়া হলো, যেখানে আমরা একটি সাধারণ গণনা পরিষেবা তৈরি করব যা দুটি সংখ্যা যোগ এবং বিয়োগ করতে সক্ষম হবে।
পদক্ষেপ ১: Thrift IDL ফাইল তৈরি করা
প্রথমে, একটি Thrift IDL ফাইল তৈরি করুন। ফাইলের নাম হতে পারে Calculator.thrift.
namespace py calculator // Python namespace
// Calculator service definition
service CalculatorService {
i32 add(1: i32 num1, 2: i32 num2),
i32 subtract(1: i32 num1, 2: i32 num2)
}
পদক্ষেপ ২: Thrift কম্পাইলার ব্যবহার করে কোড জেনারেট করা
Thrift IDL ফাইল থেকে কোড জেনারেট করতে Thrift কম্পাইলার ব্যবহার করুন। কমান্ড লাইন থেকে নিচের কমান্ডটি চালান:
thrift --gen py Calculator.thrift
এটি gen-py ফোল্ডারে Python কোড তৈরি করবে।
পদক্ষেপ ৩: সার্ভার বাস্তবায়ন
এখন সার্ভারের কোড লিখুন। একটি নতুন ফাইল তৈরি করুন, server.py নামক।
from thrift import Thrift
from thrift.transport import TTransport
from thrift.transport import TSocket
from thrift.protocol import TBinaryProtocol
from calculator import CalculatorService
class CalculatorServiceHandler:
def add(self, num1, num2):
return num1 + num2
def subtract(self, num1, num2):
return num1 - num2
def main():
handler = CalculatorServiceHandler()
processor = CalculatorService.Processor(handler)
transport = TSocket.TServerSocket(host='127.0.0.1', port=9090)
tfactory = TTransport.TBufferedTransportFactory()
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)
print("Starting the server...")
server.serve()
if __name__ == '__main__':
main()
পদক্ষেপ ৪: ক্লায়েন্ট বাস্তবায়ন
এখন ক্লায়েন্টের কোড লিখুন। একটি নতুন ফাইল তৈরি করুন, client.py নামক।
from thrift import Thrift
from thrift.transport import TTransport
from thrift.transport import TSocket
from thrift.protocol import TBinaryProtocol
from calculator import CalculatorService
def main():
transport = TSocket.TSocket('127.0.0.1', 9090)
tfactory = TTransport.TBufferedTransportFactory()
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
transport = tfactory.getTransport(transport)
protocol = pfactory.getProtocol(transport)
client = CalculatorService.Client(protocol)
try:
transport.open()
num1 = 10
num2 = 5
print("Add:", client.add(num1, num2))
print("Subtract:", client.subtract(num1, num2))
finally:
transport.close()
if __name__ == '__main__':
main()
পদক্ষেপ ৫: সার্ভার এবং ক্লায়েন্ট চালানো
সার্ভার চালান:
python server.py
ক্লায়েন্ট চালান:
python client.py
ফলাফল
ক্লায়েন্ট চলাকালীন, আপনি সার্ভারের থেকে যোগফল এবং বিয়োগফল পাওয়ার জন্য ক্লায়েন্টে দুটি সংখ্যা (১০ এবং ৫) প্রদান করবেন। সার্ভারটি ক্লায়েন্টের অনুরোধগুলি গ্রহণ করে সঠিক ফলাফল প্রদান করবে।
সারসংক্ষেপ
এই পদক্ষেপগুলি অনুসরণ করে, আপনি একটি মৌলিক Thrift সার্ভার এবং ক্লায়েন্ট তৈরি করেছেন যা দুটি সংখ্যার যোগফল এবং বিয়োগফল বের করতে পারে। এটি Thrift এর ভিত্তি এবং এটি বিভিন্ন ভাষার মধ্যে যোগাযোগ স্থাপন করার জন্য একটি কার্যকরী প্ল্যাটফর্ম সরবরাহ করে।
Read more