FactoryServerApi
1.0.0
UDPとHTTPの両方の満足のいく専用サーバーAPIのドキュメントファイルの実装。
一般的なホストと完全に非同期に統合されています。
UDPエントリポイントIFactoryServerUdpClient 、ファクトリーから取得されたIFactoryServerUdpClientFactory 、使用例
var builder = Host . CreateApplicationBuilder ( args ) ;
builder . AddFactoryServerServices ( ) ;
var app = builder . Build ( ) ;
var factoryUdpClientFactory = app . Services . GetRequiredService < IFactoryServerUdpClientFactory > ( ) ;
var factoryUdpClient = await factoryUdpClientFactory . BuildFactoryServerUdpServiceAsync ( "urlOrIPAddress" , port ) ;
factoryUdpClient . ServerStateReceived += FactoryUdpClient_ServerStateReceived ;
factoryUdpClient . ErrorOccurred += FactoryUdpClient_ErrorOccurred ;
var listenerCTS = new CancellationTokenSource ( ) ;
_ = factoryUdpClient . StartListeningAsync ( listenerCTS . Token ) ;
var pollTask = factoryUdpClient . PollServerStateAsync ( TimeSpan . FromMinutes ( 3 ) , TimeSpan . FromSeconds ( 10 ) , false , 1 , null ) ;
while ( ! pollTask . IsCompleted ) {
}
listenerCTS . Cancel ( ) ;
return 0 ;
private static void FactoryUdpClient_ErrorOccurred ( object ? sender , Exception e )
{
.. .
}
private static void FactoryUdpClient_ServerStateReceived ( object ? sender , FactoryServerStateResponse e )
{
var json = JsonSerializer . Serialize ( e ) ;
.. .
} HTTPエントリポイントIFactoryServerHttpService 、使用の例
var builder = Host . CreateApplicationBuilder ( args ) ;
builder . AddFactoryServerServices ( ) ;
var app = builder . Build ( ) ;
var factoryServer = app . Services . GetRequiredService < IFactoryServerHttpService > ( ) ;
//Here in connection info you can set the AuthenticationToken provided for the login functions or third party tokens provided by server
var connectionInfo = new FactoryServerConnectionInfo ( "https_url" , port ) ;
var result = await factoryServer . HealthCheckAsync ( null , connectionInfo ) ;
string ? json = null ;
if ( result . Result is not null )
{
json = JsonSerializer . Serialize ( result . Result ) ;
}
else if ( result . Error is not null )
{
json = JsonSerializer . Serialize ( result . Error ) ;
}私はこれに新しいです、そして、私は友人とリモートでサーバーを管理するための趣味としてそれを作りました、厳しくないでください。
バグや改善、またはフォークの問題を自由に作成してください。