dotnet-echo
1.0.0
.NET 5.0
This package targets .NET 5.0. The package is compatible with this framework or higher.
.NET Core 3.1
This package targets .NET Core 3.1. The package is compatible with this framework or higher.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global dotnet-echo --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local dotnet-echo --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-echo&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package dotnet-echo --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
dotnet-echo
Installing or updating (same command can be used for both):
dotnet tool update -g dotnet-echo
Usage:
> dotnet echo -?
echo
A trivial program that echoes whatever is sent to it via HTTP or gRPC
Usage:
echo [options] [<endpoint>...]
Arguments:
<endpoint> Endpoint to listen on such as https://127.0.0.0:8080/ [default: https://127.0.0.1:4242/]
Options:
-?, -h, --help Show help and usage information
The program will automatically check for updates once a day and recommend updating if there is a new version available.
The service supports gRPC too, with echo.proto:
syntax = "proto3";
service chamber {
rpc echo (message) returns (message);
}
message message {
string payload = 1;
}
Since gRPC needs to use HTTP/2, it will use the defined prefix
port + 1 (i.e. if you specify
http://127.0.0.1:8080
, the gRPC endpoint will be available at http://127.0.0.1:8081
).
Example of a .NET client to run echo
in the chamber
service:
<Project>
...
<ItemGroup>
<PackageReference Include="Google.Protobuf" Version="*" />
<PackageReference Include="Grpc.Net.Client" Version="*" />
<PackageReference Include="Grpc.Tools" Version="*" />
</ItemGroup>
<ItemGroup>
<Protobuf Include="echo.proto" GrpcServices="Client" />
</ItemGroup>
</Project>
var channel = GrpcChannel.ForAddress("http://localhost:8081");
var service = new chamber.chamberClient(channel);
var response = await service.echoAsync(new message { Payload = "Hello World" }, cancellationToken: cancellation);
Console.WriteLine(response.Payload);
An example of the output during execution:
And running on Ubuntu:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.