gpt4 book ai didi

java - 我不知道为什么会出现这种情况? "java.nio.channels.UnresolvedAddressException"

转载 作者:行者123 更新时间:2023-12-01 09:35:17 24 4
gpt4 key购买 nike

我制作的程序具有使用 Netty 将消息发送到 FCM 服务器的功能。

我在Windows 7中完成了测试。

效果很好。

但是solaris不运行这个。

我在Solaris 中收到异常代码。

[ClientHandler.exceptionCaught] Unexpected exception from downstream.java.nio.channels.UnresolvedAddressException

此异常错误发生在

之后

"[ClientHandler.channelOpen]"

然后运行到

"[ClientHandler.channelClosed]"

所以,我确实尝试在立即“[ClientHandler.channelOpen]”之后向 FCM 服务器写入消息。

从 FCM 服务器发送的消息。

并出现另一个异常错误。

"java.nio.channels.NotYetConnectedException"

即知道上面的问题出现了错误。

我不知道为什么会出现“UnresolvedAddressException”。

我认为出现这个问题是因为Solaris防火墙。

如何处理这个问题?

添加到..Ping测试结果

ping 64.233.187.188
64.233.187.188 is alive

注意 - 该 IP 是通过使用获得的

String ip = "fcm-xmpp.googleapis.com";
int port = 5236;
new InetSocketAddress (ip, port) .getAddress () getHostAddress ()

在java中。

最佳答案

随着我们的进展,我会改进这个答案。

您的 Solaris 系统似乎配置错​​误。主机名查找方面配置错误。

  1. 请告诉我们您的 Solaris 版本。执行 cat/etc/release 并发布输出。

  2. 在 Solaris 上,有一种叫做“Solaris 名称服务守护进程”的野兽它缓存名称信息。其他操作系统也有类似的概念。Solaris 中的所有相关系统调用都会向该守护进程询问名称信息,但是 nslookup 工具会绕过这个并询问直接来自 DNS 服务器。这就是为什么你可以拥有成功的原因nslookup,而名称查找通常不起作用。底线:nslookup 有时不是您想要做的测试。使用getent命令,如 getent Hosts fcm-xmpp.googleapis.com

  3. 安德鲁·亨利 (Andrew Henley) 的评论非常正确。您应该执行 telnet 测试。它提供了有值(value)的信息。这是一种众所周知的测试方法连接性,它应该成为任何 IT 人员工具箱的一部分,无论是恕我直言,您是开发人员或系统管理员。 (Windows人们通常这样做不知道“telnet 测试”主要是因为微软已经决定那telnet client should no longer be installed by default on Windows )

关于java - 我不知道为什么会出现这种情况? "java.nio.channels.UnresolvedAddressException",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39029843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com