我们正在运行“helloworld”示例https://grpc.io/docs/quickstart/cpp.html#update-a-grpc-service,我们收到以下错误:
14:连接失败
迎宾员收到:RPC失败。
服务器和客户端正在监听:0.0.0.0:50051
。服务器正在运行。首先,我们在服务器上只收到一个数据包,客户端崩溃,我用tcpdump检查了它。我们在不同的主机和同一台主机上进行了检查,但这两种情况都不起作用。我们应该换一个不同的IP或端口号吗?
我在我的PC上也遇到了同样的问题(操作系统:ubuntu 16.04 LTS,协议3.4.0)
所以我寻找原因,发现了这个:
如果在linux机器上,环境配置了通常的“http_proxy”环境变量,gRPC在尝试连接时会考虑到这一点,但随后会忽略伴随的no_proxy设置:
例如:
$ env
http_proxy=http://106.1.216.121:8080
no_proxy=localhost,127.0.0.1
$ ./greeter_client
D0306 16:00:11.419586349 1897 combiner.c:351] C:0x25a9290 finish old_state=3
D0306 16:00:11.420527744 1896 tcp_client_posix.c:179] CLIENT_CONNECT: ipv4:106.1.216.121:8080: on_writable: error="No Error"
D0306 16:00:11.420567382 1896 combiner.c:145] C:0x25a69a0 create
D0306 16:00:11.420581887 1896 tcp_client_posix.c:119] CLIENT_CONNECT: ipv4:106.1.216.121:8080: on_alarm: error="Cancelled"
I0306 16:00:11.420617663 1896 http_connect_handshaker.c:319] Connecting to server 127.0.0.1:50051 via HTTP proxy ipv4:106.1.216.121:8080
基本上,它是使用http_proxyurl来连接,即使localhost在no_proxy列表中。由于no_proxy的默认值包括大多数linux机器上的localhost;最终结果是任何配置了http_proxy的用户将永远无法连接到localhost . --- [1]
您可以通过export grpc_TRACE=all启用grpc跟踪
这应该能奏效
ps.有关GRPC_跟踪-GRPC环境变量的更多信息
gRPC不尊重no_proxy环境变量
我正在使用Netty 4.0构建一个客户端/服务器。服务器正在正确监听localhost:8083并且我可以远程登录它,它会正确触发服务器断点。但是当我尝试使用这段代码连接时: 它在sync()处抛出异常:java.nio.channels.ClosedChannelException。如前所述,当我telnet 127.0.0.1 8083(或用Socket连接代码)时,它确实有效。知道吗?非常
连接失败客户端一般会有两种报错,connection refuse 和 connection timeout connection refuse(连接拒绝) 一般是以下原因: 1、客户端连接的端口错了 2、客户端连接的域名或者ip错了 3、如果客户端使用了域名连接,域名可能指向了错误的服务器ip 4、服务端没有启动或者端口没有被监听 5、使用了网络代理软件 6、服务端监听ip与访问地址不在一个地址
在Netty中创建客户端连接时,我有一个问题。 这里,为什么我们没有一个bind方法,将通道绑定到发起客户端连接的端口(在客户端)?我们唯一需要提供的就是给出服务器地址和端口如下: 这是在客户端还是服务器端创建了一个新的通道?此通道绑定在客户端的哪个端口? 我们在执行服务器端引导时进行绑定,如下所示 我很困惑,不明白客户端从哪个端口向服务器发送数据,使用的是什么通道?
我正在运行一个kubernetes集群,在其中按照kubernetes hazelcast github页面上的说明部署一个“云原生hazelcast”。一旦运行了许多hazelcast实例,我就会尝试将java客户端连接到其中一个实例,但由于某种原因,连接失败。 使用kubernetes外部endpoint,我可以从kubernetes集群外部连接到hazelcast。当我使用curl-kube
执行kafka客户端的生产者/消费者连接池有意义吗? kafka是否在内部维护已初始化并准备好使用的连接对象列表? 我们希望最小化连接创建的时间,这样在发送/接收消息时就不会有额外的开销。 目前,我们正在使用apache共享池库来保持连接。 任何帮助都将不胜感激。
我想知道以下问题的答案: 1)如果Ignite服务器重新启动,我需要重新启动客户端(web应用程序)。是否有任何方法可以在服务器重新启动时重新连接到服务器。我知道当服务器重新启动时,它分配了一个不同的ID,因此当前现有的连接变得过时。是否有方法克服这个问题,如果是的话,哪一个版本的Ignite支持这个功能。目前我使用1.7版本 3)如果我有一个大对象要缓存,我发现序列化和反序列化在Ignite中需