如何连接到 Raspberry Pi 上的 gRPC 服务器 运行
How do I connect to gRPC Server running on Raspberry Pi
我的 Raspberry Pi 上有一个简单的 gRPC 服务(用 C# 编写)运行。我正在使用 Kreya 发送消息并获得回复。它似乎只有在我从 Pi 上的客户端 运行 发送消息但不能从另一台计算机发送消息时才有效。它显示端口正在侦听,所以我很困惑。我在网络方面没有经验,因此将不胜感激。
.NET 6.0 更新
让应用程序侦听任何 ip 连接所需的只是简单地将以下内容添加到 Program.cs 文件中。这将覆盖任何其他配置。
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(options => options.ListenAnyIP(9000));
localhost
一般解析为127.0.0.1
是一个特殊的网络地址。
这是主机引用自身(一般)而不使用(完整)网络堆栈的一种方式。
在这种情况下,您的 gRPC 服务器似乎仅绑定到 localhost,因此,它只能通过使用 localhost 地址的其他连接对其自身进行访问。
这解释了为什么它可以与自己对话,但为什么其他主机无法访问它。 注意 使用 localhost
的其他主机指的是他们自己的本地主机|环回地址。
您将需要重新配置您的 gRPC 服务器以绑定到特定的网络地址。通常,您可以使用 0.0.0.0
而不是 localhost
(或 127.0.0.1
)
来实现此目的
我的 Raspberry Pi 上有一个简单的 gRPC 服务(用 C# 编写)运行。我正在使用 Kreya 发送消息并获得回复。它似乎只有在我从 Pi 上的客户端 运行 发送消息但不能从另一台计算机发送消息时才有效。它显示端口正在侦听,所以我很困惑。我在网络方面没有经验,因此将不胜感激。
.NET 6.0 更新
让应用程序侦听任何 ip 连接所需的只是简单地将以下内容添加到 Program.cs 文件中。这将覆盖任何其他配置。
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(options => options.ListenAnyIP(9000));
localhost
一般解析为127.0.0.1
是一个特殊的网络地址。
这是主机引用自身(一般)而不使用(完整)网络堆栈的一种方式。
在这种情况下,您的 gRPC 服务器似乎仅绑定到 localhost,因此,它只能通过使用 localhost 地址的其他连接对其自身进行访问。
这解释了为什么它可以与自己对话,但为什么其他主机无法访问它。 注意 使用 localhost
的其他主机指的是他们自己的本地主机|环回地址。
您将需要重新配置您的 gRPC 服务器以绑定到特定的网络地址。通常,您可以使用 0.0.0.0
而不是 localhost
(或 127.0.0.1
)