代码拉取完成,页面将自动刷新
This is an asynchronous and event-driven RPC implementation for embeded system with small system footprint. It is targeting at both IOT platforms and mainstream servers with high-throughput and high availability. It features highly easy to use with a versatile skeleton generator, to generate C++, Python, Java or JavaScript skeleton code instantly. Welcome to use!
Here
is an introduction to the concept of rpc-frwmrk
.
Synchronous/asynchronous request handling
Active/passive request canceling.
Server-push events
Keep-alive for time-consuming request.
Simultaneous object access over network and IPC.
Peer online/offline awareness.
Publishing multiple local/remote object services via single network port.
Full-duplex streaming channels
Both OpenSSL and GmSSL support
Websocket support
Object access via Multihop routing
Authentication support with Kerberos 5
Node Redudancy/Load Balance
A skeleton generator for CPP, Python and Java
A GUI config tool for rpcrouter
rpcfs - filesystem interface for rpc-frmwrk
rpc-frmwrk
How to build rpc-frmwrk
for detail description.deb package or rpm package
to skip the painstaking building process.sudo make install
from the root directory of rpc-frmwrk
source tree.rpc-frwmrk
as described on this page.rpcrouter -dr 2
on server side, and on start daemon process rpcrouter -dr 1
on client side. And now we are ready to run the helloworld
program. For more information about rpcrouter
, please follow this link.HelloWorld
. Start the hwsvrsmk
, the helloworld
server on server side. And start the hwclismk
on the client side.rpc-frmwrk
can generate skeleton systems for different system architectures.
rpc-frmwrk
has an interface description language
, ridl
to help you to generate the skeleton code in one second. Examples can be found here. The advantage is that you can deploy new services on the fly, as well as shutting down some of them.ridlc
can also generate skeleton code in the form of the classic client/server program. The advantage is it has much better performance.rpcfs
. The ridlc
can generate a pair of filesystems for server and client respectively with the ridl
file. And all the rpc
traffic goes through file read/write and other file operations. And moreover rpcfs
hosted by the rpcrouter
provides information for runtime monitoring and management.This project depends on the following 3rd-party packags at runtime:
dbus-1.0 (dbus-devel)
libjson-cpp (jsoncpp-devel)
lz4 (lz4-devel)
cppunit-1 (for the test cases, cppunit and cppunit-devel)
openssl-1.1 for SSL communication.
(optional)MIT krb5 for authentication and access control.
(optional)c++11 is required, and make sure the GCC is 5.x or higher.
python 3.5+ is required for Python support.
(optional)Java OpenJDK 8 or higher for Java support.
(optional)npm 9.0 and webpack
(optional)FUSE-3 for rpcfs support
(optional)GmSSL 3.0
(optional)issues
.此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。