LibRPC
1.0.0
LibRPC هي مكتبة خفيفة الوزن للغاية وفي الوقت الفعلي وعالية الأداء لكل من .Net Framework و.Net Portable. إنه يوفر إطار عمل RPC يعتمد على الدفق مما يجعله خفيفًا جدًا وقابل للتوسيع. إنه يعمل بشكل أساسي على بنية الخادم/العميل والطلب/الاستجابة. أمثلة الخروج للاستخدام الأساسي
يستخدم LibRPC الاتصال القائم على الدفق حتى تتمكن من استخدامه في TCP وPipes وأي بروتوكول آخر يعتمد على الدفق. فيما يلي مثال أساسي للخادم والعميل حيث نقوم باستدعاء الخادم ببساطة لإضافة رقمين Imports LibRPC.Basic
:
Private Sub Server()
Dim tcp As New TcpListener(IPAddress.Loopback, 11221 )
tcp.Start()
While True
Dim sock = tcp.AcceptTcpClient()
Dim host = New RPCHost(sock.GetStream())
host.On( 6644 , New Func( Of Integer , Integer , Integer )( AddressOf OnAdd))
End While
End Sub
Private Function OnAdd(x As Integer , y As Integer ) As Integer
Return x + y
End Function
Private Sub Client()
Dim tcp As New TcpClient( "localhost" , 11221 )
Dim host As New RPCHost(tcp.GetStream())
Console.WriteLine(host.Call( Of Integer )( 6644 , 5 , 9 )) '14
End Sub
فيما يلي C# using LibRPC.Basic;
:
private void Server ( )
{
TcpListener tcp = new TcpListener ( IPAddress . Loopback , 11221 ) ;
tcp . Start ( ) ;
while ( true ) {
dynamic sock = tcp . AcceptTcpClient ( ) ;
dynamic host = new RPCHost ( sock . GetStream ( ) ) ;
host . On ( 6644 , new Func < int , int , int > ( OnAdd ) ) ;
}
}
private int OnAdd ( int x , int y )
{
return x + y ;
}
private void Client ( )
{
TcpClient tcp = new TcpClient ( "localhost" , 11221 ) ;
RPCHost host = new RPCHost ( tcp . GetStream ( ) ) ;
Console . WriteLine ( host . Call < int > ( 6644 , 5 , 9 ) ) ; //14
}