dotnettyrpc는 dotnetty를 기반으로하는 크로스 플랫폼 RPC 프레임 워크이며 .NET45 및 .NET Standard 2.0을 지원합니다.
전통적인 .NET 개발에서 원격 통화 서비스를 만나면 WCF가 주요 초점입니다. WCF는 강력한 기능을 가지고 있지만 구성은 복잡하고 사용하기 쉽지 않습니다. 그리고 미래에는 분명히 .NET Core의 세계가 될 것입니다. WCF는 당분간 .NET 코어를 지원하지 않습니다 (클라이언트 만, 서버를 설정할 수 없습니다). GRPC, Surging 및 MicroService 프레임 워크와 같은 시장의 다른 .NET RPC 프레임 워크는 강력하고 성능이 좋으며 상대적으로 성숙하지만 사용하기에 충분히 간단하지는 않습니다. 위의 비교를 바탕으로 (칭찬과 틀림없이), 나는 방금 DotnetTyrpc를 가져 갔다. 포지셔닝은 크로스 플랫폼 (.NET45 및 .NET 표준), 간단하지만 실용적인 RPC 프레임 워크입니다.
Nuget 패키지 관리자 인 DotNetTyrpc를 검색하여 사용하여 사용하십시오.
또는 nuget 명령을 입력하십시오 : 설치 패키지 dotnettyrpc
public interface IHello
{
string SayHello ( string msg ) ;
}
public class Hello : IHello
{
public string SayHello ( string msg )
{
return msg ;
}
} using Coldairarrow . DotNettyRPC ;
using Common ;
using System ;
namespace Server
{
class Program
{
static void Main ( string [ ] args )
{
RPCServer rPCServer = new RPCServer ( 9999 ) ;
rPCServer . RegisterService < IHello , Hello > ( ) ;
rPCServer . Start ( ) ;
Console . ReadLine ( ) ;
}
}
} using Coldairarrow . DotNettyRPC ;
using Common ;
using System ;
namespace Client
{
class Program
{
static void Main ( string [ ] args )
{
IHello client = RPCClientFactory . GetClient < IHello > ( "127.0.0.1" , 9999 ) ;
var msg = client . SayHello ( "Hello" ) ;
Console . WriteLine ( msg ) ;
Console . ReadLine ( ) ;
}
}
}서버를 먼저 실행 한 다음 클라이언트를 실행하면 클라이언트에서 Hello를 출력 할 수 있습니다.
이 컴퓨터의 평균 RPC 테스트 요청은 약 0.4ms이며 성능은 높지 않지만 단순성과 실용성에 중점을 둔 대부분의 비즈니스 시나리오에 대처하는 것으로 충분합니다. 최적화 할 수있는 곳이 많이 있으며 모든 사람이 그것을 지원할 수 있기를 바랍니다.
github 주소 : https://github.com/coldairarrow/dotnettyrpc
QQ 그룹 : 373144077