java.net.ConnectException Connection refused

  1  java.net.ConnectException Connection refused
  2      at java.net.PlainSocketImpl.socketConnect(Native Method)
  3      at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java334)
  4      at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java196)
  5      at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java178)
  6      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java356)
  7      at java.net.Socket.connect(Socket.java586)
  8      at com.android.okhttp.internal.Platform.connectSocket(Platform.java113)
  9      at com.android.okhttp.Connection.connectSocket(Connection.java196)
 10      at com.android.okhttp.Connection.connect(Connection.java172)
 11      at com.android.okhttp.Connection.connectAndSetOwner(Connection.java367)
 12      at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java130)
 13      at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java329)
 14      at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java246)
 15      at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java457)
 16      at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java405)
 17      at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java243)

18     at com.xx.httpurlconnection.HttpURLConActivity$NetAsyncTask.doInBackground(HttpURLConActivity.java133)

19       at com.xx.httpurlconnection.HttpURLConActivity$NetAsyncTask.doInBackground(HttpURLConActivity.java107)

20      at android.os.AsyncTask$2.call(AsyncTask.java304)

 21      at java.util.concurrent.FutureTask.run(FutureTask.java237)
 22      at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java243)
 23      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java1133)
 24      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java607)

 25      at java.lang.Thread.run(Thread.java761)



在网络上找了很多解决问题,很多说到

端口占用(通过 # netstat -ap |grep 8080查验不是该问题),Tomcat 没能正确启动

URL 错误(我通过浏览器验证不是该问题)等问题

但是没能解决,真正导致该问题的是


对于localhost没能正确解析,而导致该问题。修改后问题解决。


### JMeter 报错 `java.net.ConnectException: Connection refused` 的解决方法 当遇到 JMeter 中的 `java.net.ConnectException: Connection refused` 错误时,通常是因为客户端无法连接到目标服务或远程服务器。以下是几种可能的原因及其对应的解决方案: #### 1. **本地环境中的 RMI 配置问题** 如果是在本地环境中运行分布式测试并遇到了该错误,则可能是由于未正确设置 Java RMI 主机名所致。可以通过手动指定主机名为 `localhost` 来解决问题。具体操作如下: - 打开命令提示符,导航至 JMeter 安装目录下的 bin 文件夹(例如:`E:\apache-jmeter-5.6.3\bin`)。 - 输入以下命令来启动 JMeter Server 并绑定到特定 IP 地址: ```bash jmeter-server -Djava.rmi.server.hostname=127.0.0.1 ``` 此步骤可以有效避免因网络配置不当而导致的连接拒绝问题[^1]。 #### 2. **HTTP 请求头配置不匹配** 对于某些场景,尤其是涉及 API 测试时,可能会因为请求头部缺少必要的字段而引发类似的异常。此时应检查 HTTP Header Manager 是否已正确定义 Content-Type 和其他必要参数。例如,在 POST 请求中需确保设置了正确的 MIME 类型如 `application/json` 或者 `application/x-www-form-urlencoded` 等[^2]。 #### 3. **端口冲突或防火墙阻止访问** 在云服务商(比如阿里巴巴集团旗下的阿里云实例)上部署应用时,经常会出现标准较低编号范围内的端口已被系统保留或者被安全策略封锁的情况。因此建议调整默认使用的监听端口(通常是4444),将其更改为较高的数值(如8488)。之后通知运维团队开放新选定的端口以便正常通信[^3]。 另外还需确认操作系统层面是否存在额外的安全防护措施干扰程序间的交互过程;如果是 Windows 用户则要特别留意内置Windows Defender Firewall 设置是否允许入站流量通过所选端口。 综上所述,上述三种情况均可能导致此类现象发生,并提供了相应的处理办法供参考采用。 ```python # 示例 Python 脚本用于验证端口状态 import socket def check_port(host='127.0.0.1', port=8488): try: with socket.create_connection((host, port), timeout=5) as sock: print(f"{port} is open.") except Exception as e: print(f"{e}: {port} seems closed.") check_port() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值