LibRPC
1.0.0
LibRPC는 .Net Framework 및 .Net Portable 모두를 위한 매우 가벼운 실시간 고성능 라이브러리입니다. 이는 스트림 기반 RPC 프레임워크를 제공하여 매우 가볍고 확장 가능합니다. 기본적으로 서버/클라이언트 및 요청/응답 아키텍처에서 작동합니다. 기본 사용법에 대한 체크아웃 예시
LibRPC는 스트림 기반 통신을 사용하므로 TCP, 파이프 및 기타 스트림 기반 프로토콜에서 사용할 수 있습니다. 다음은 두 개의 숫자를 추가하기 위해 간단하게 서버를 호출하는 기본 서버-클라이언트 예제입니다. 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
다음은 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
}