连接失败(链接被拒绝)——java.net.ConnectException: Connection refused: connect——

很明显,这个错误百分之九九是应为连接端的“门”是关着的~

  1. 要么是你写的url有误
  2. 要么是你所写的url的端口被占用
  3. 要么就是被防火墙给堵住了
    ……

我在安卓JAVA中调用本地用node.js编写的端口时,报了这个错误!

一度找不到解决方法,最后把URL中的本机IP改成了node.js中的监听IP“127.0.0.1”后成功了!

JS

//监听端口
server.listen(3456, '127.0.0.1', () => {
    console.log('服务器正在监听3456端口!');
});

JAVA

URL url=new URL("http://127.1.0.1:3456");

安卓

URL url=new URL("http://10.0.2.2:3456");

IP:10.0.2.2

android模拟器把它自己作为了localhost,也就是说,代码中使用localhost或者127.0.0.1来访问,都是访问模拟器自己!肯定连接不上,如果你想在模拟器访问你的电脑的本地,请使用android内置的IP
10.0.2.2 , 10.0.2.2 是模拟器设置的特定ip,是你的电脑的别名,在模拟器上用10.0.2.2访问的就是你电脑的127.0.0.1(localhost)。

你可能感兴趣的:(连接失败(链接被拒绝)——java.net.ConnectException: Connection refused: connect——)