一个
connect failed: EConNREFUSED (Connectionrefused)最有可能的手段,没有什么侦听该端口和IP地址。可能的解释包括:
- 服务已崩溃或尚未(成功!)启动,
- 您的客户端尝试使用错误的IP地址或端口进行连接,
- 您的客户端正在尝试使用解析为错误IP的DNS名称进行连接,或者
- 代表服务器/服务“拒绝”的防火墙阻止了服务器访问。鉴于通常的做法(这些天)是为了让防火墙“黑洞”所有不需要的连接尝试,因此这 几乎 是 不可能的 。
请注意,虽然您有一个名为的数组变量
urls,但它不能包含真实的URL。没有
Socket采用任何形式的真实URL
的构造函数的重载。确实,如果您以这样的字符串形式提供URL:
new Socket("http://example.com", 42)结果将是一个不同的例外。同样,如果您尝试连接到无法路由到的网络上的IP地址(例如“其他WiFi网络”),则会收到不同的例外;例如“找不到主机”,“没有路由到主机”或“没有路由到网络”。



