Java RMI遇到的Connection refused to Host: 127.x.x.x/192.x.x.x/10.x.x.x问题解决方法

java,rmi,connection,refused,to,host · 浏览次数 : 0

小编点评

**问题故障解决记录** **异常信息:** RMI Connection refused to host: x.x.x.x ... **分析:** * 问题出在映射关系中,因为你的客户端本地地址是 127.0.1.1,而服务器地址是 x.x.x.x。 * 127.0.1.1 是本地地址,因此当你的客户端尝试连接到服务器时,它会使用本地地址 127.0.1.1 来解析服务器地址。 * 由于你服务器的 /etc/hosts 文件中没有映射 127.0.1.1 和 x.x.x.x 之间的映射关系,因此客户端无法连接到服务器。 **解决方案:** 1. **删除 /etc/hosts 文件中的 127.0.1.1 行。** 2. **添加一行映射 127.0.1.1 和 x.x.x.x 之间的映射关系。** ``` x.x.x.x(公网IP) VM1 ``` 3. **重启你的服务器所在系统的网络。** **注意事项:** * 确保你服务器的 /etc/hosts 文件在正确的格式中,包含主机名和 IP 地址的映射关系。 * 测试你的服务器是否能正常接入外网,如果能,则可能存在其他问题。

正文

问题故障解决记录 -- Java RMI Connection refused to host: x.x.x.x ....

在学习JavaRMI时,我遇到了以下情况

image


问题原因:可能大家的host是10或者192的私有地址,我估计都是和我一样的一个原因:/etc/hosts文件的配置问题(我是ubuntu系统下的实验环境),也就是主机名称和IP地址的映射关系导致的问题


问题分析:我的Server代码是放在云服务器上的,云服务器的/etc/hosts内容中,有这么一行:127.0.1.1 localhost.localdomain VM1(这里的VM1是我的主机名,你们可以看一下自己的是啥)。问题就出在这个映射关系上,我的Client去发起请求后,会将Server那边的地址解析为本地127.0.1.1地址,而不是公网地址,导致连接不上。
image


问题解决:把映射关系给改了,将上面127.0.1.1那行的VM1去掉(结合你们自己的主机名来改,你们的应该不是VM1),单独加一行主机名和公网地址映射。比如:x.x.x.x(公网IP) VM1
image


修改完后记得重启一下你的Server所在系统的网络!

与Java RMI遇到的Connection refused to Host: 127.x.x.x/192.x.x.x/10.x.x.x问题解决方法相似的内容:

Java RMI遇到的Connection refused to Host: 127.x.x.x/192.x.x.x/10.x.x.x问题解决方法

问题故障解决记录 -- Java RMI Connection refused to host: x.x.x.x .... 在学习JavaRMI时,我遇到了以下情况 问题原因:可能大家的host是10或者192的私有地址,我估计都是和我一样的一个原因:/etc/hosts文件的配置问题(我是ubun

Java异步判断线程池所有任务是否执行完成的方法

本文详细介绍了Java异步判断线程池所有任务是否执行完成的方法,分别介绍了使用ExecutorService和CountDownLatch的方法示例、使用ExecutorService的invokeAll方法和Future列表的方法示例、使用ExecutorService来异步执行多个Callabl...

面试官:Java线程可以无限创建吗?

哈喽,大家好,我是世杰。 ⏩本次给大家介绍一下操作系统线程和Java的线程以及二者的关联 1. 面试连环call Java线程可以无限创建吗? Java线程和操作系统线程有什么关联? 操作系统为什么要区分内核态和用户态? ⏩要想解答这些问题,我们要先从操作系统线程开始说起,让我们开始吧�

Java 方法中循环调用具有事务的方法

本文简要介绍了Java 方法中循环调用具有事务的具体方法示例,虽然@Transactional是Spring中最常用和推荐的方式,但是本文还简要介绍了其他5种方法可以实现类似的功能。

Java基础:线程的三种创建方式

一、继承Thread类 定义一个类继承线程类Thread 重写run()方法 创建线程对象 调用线程对象的start()方法创建线程 Thread类的常用API setName(String name):给线程取名字 getName():获取线程的名字 public static Thread cu

面试官:Java类是如何被加载到内存中的?

面试连环call Java类是如何被加载到内存中的? Java类的生命周期都有哪些阶段? JVM加载的class文件都有哪些来源? JVM在加载class文件时,何时判断class文件的格式是否符合要求? 类生命周期 一个类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期将会经历加载、验

Java定时任务实现优惠码

在Java中实现定时任务来发放优惠码,我们可以使用多种方法,比如使用java.util.Timer类、ScheduledExecutorService接口,或者更高级的框架如Spring的@Scheduled注解。这里,我将以ScheduledExecutorService为例来展示如何实现这一功能

有手就会的 Java 处理压缩文件

@目录前言背景第一步:编写代码1.1 请求层1.2 业务处理层1.3 新增配置第二步:解压缩处理2.1 引入依赖2.2 解压缩工具类总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容,下面案例可供参考 背景 在项目出现上传文件,其中文件包含压缩包,并

【进阶篇】Java 项目中对使用递归的理解分享

笔者在最近的项目开发中,遇到了两个父子关系紧密相关的场景:评论树结构、部门树结构。具体的需求如:找出某条评论下的所有子评论id集合,找出某个部门下所有的子部门id集合。

千万别忽视基础!十张图带你一步步理解Java内存结构!

发生内存泄漏或者内存溢出,如果对Java内存结构不清楚,那将会是一件非常麻烦的事情!本文笔者将为大家详解Java内存结构。