Bạn có thể xem xét ØMQ. Nó là một thư viện tin nhắn đa nền tảng, trong số rất nhiều thứ khác, "tự động" xử lý các vấn đề kết nối (bao gồm kết nối lại trong trường hợp thất bại). Có các ràng buộc bằng nhiều ngôn ngữ và thư viện czmq cung cấp giao diện C cấp cao đẹp cho nhiều ứng dụng phổ biến của ØMQ.
Bạn có thể dễ dàng sử dụng mẫu Yêu cầu trả lời cho khung RPC, nhưng khi đọc guide, bạn có thể thấy rằng các mẫu khác phù hợp hơn.
Tôi đã tìm thấy RPC framework được xây dựng trên đầu trang của ØMQ, nhưng vì bạn đang sử dụng C++, điều này có thể sẽ không giúp bạn (trừ mục đích học tập). Xem thêm this question. Bạn có thể khá dễ dàng cuộn của riêng bạn, nếu bạn muốn.
Giấy phép của ØMQ là "LGPLv3 +", về cơ bản là LGPL có ngoại lệ liên kết tĩnh. czmq đang chuyển sang MPLv2, vì vậy tôi sẽ không ngạc nhiên nếu ØMQ tuân theo sớm. Theo một thông điệp từ tác giả ØMQ, MPLv2 rất giống với giấy phép "LGPLv3 +", nhưng có thể chấp nhận được hơn đối với luật sư doanh nghiệp.
Bạn cũng có thể xem xét boost serialization cho mã giao diện của mình. Chúng tôi đã sử dụng czmq (bao gồm zbeacon cho khám phá nút tự động) cùng với việc tăng tuần tự hóa và nó hoạt động rất tốt. Tôi đã sử dụng XML-RPC trong quá khứ và tôi thích ØMQ cho chức năng xử lý kết nối mà nó cung cấp.