LibRPC
1.0.0
LibRPC adalah perpustakaan yang sangat ringan, realtime dan berkinerja tinggi untuk .Net Framework dan .Net Portable. Ini menyediakan Kerangka RPC berbasis aliran yang membuatnya sangat ringan dan dapat diperluas. Ini pada dasarnya bekerja pada arsitektur server/klien dan permintaan/respons. Contoh Checkout untuk penggunaan dasar
LibRPC menggunakan komunikasi berbasis aliran sehingga Anda dapat menggunakannya dalam TCP, Pipes, dan protokol berbasis aliran lainnya. Berikut adalah contoh dasar klien-server di mana kita memanggil server sederhana untuk menambahkan dua angka. 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
Berikut ini adalah 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
}