आप ØMQ पर विचार कर सकते हैं। यह एक क्रॉस-प्लेटफार्म मैसेजिंग लाइब्रेरी है कि, कई अन्य चीजों के बीच, "स्वचालित रूप से" कनेक्शन समस्याओं को हल करता है (असफलताओं के मामले में पुनः कनेक्ट करने सहित)। कई भाषाओं में बाइंडिंग हैं, और czmq लाइब्रेरी ØMQ के कई सामान्य उपयोगों के लिए एक अच्छा उच्च स्तरीय सी इंटरफ़ेस प्रदान करती है।
आप आसानी से आरपीसी ढांचे के लिए अनुरोध-उत्तर पैटर्न का उपयोग कर सकते हैं, लेकिन जैसा कि आप guide पढ़ते हैं, तो आप पाएंगे कि अन्य पैटर्न अधिक उपयुक्त हैं।
मुझे ØMQ के शीर्ष पर बनाया गया RPC framework मिला, लेकिन चूंकि आप जाहिर तौर पर सी ++ का उपयोग कर रहे हैं, यह शायद आपकी मदद नहीं करेगा (सीखने के उद्देश्यों के अलावा)। this question भी देखें। यदि आप चाहें तो शायद आप आसानी से अपना खुद का रोल कर सकते हैं।
ØMQ का लाइसेंस "LGPLv3 +" है, जो मूल रूप से एक स्थिर लिंक अपवाद के साथ एलजीपीएल है। czmq MPLv2 पर जा रहा है, इसलिए अगर मैं जल्द ही ØMQ सूट का पालन करता हूं तो मुझे आश्चर्य नहीं होगा। ØMQ निर्माता से एक संदेश के मुताबिक, MPLv2 "LGPLv3 +" लाइसेंस के समान है, लेकिन उद्यम वकीलों के लिए अधिक स्वीकार्य है।
आप अपने इंटरफ़ेस कोड के लिए boost serialization पर भी विचार कर सकते हैं। हमने czmq (स्वचालित नोड डिस्कवरी के लिए ज़ेबेकॉन सहित) का उपयोग किया, साथ ही बूस्ट क्रमबद्धता के साथ, और यह बहुत अच्छी तरह से काम करता है। मैंने अतीत में XML-RPC का उपयोग किया है, और मैं कनेक्शन हैंडलिंग कार्यक्षमता के लिए ØMQ पसंद करता हूं।