我尝试使用RMI客户端服务器启动此应用程序。 首先,我运行它并出现错误“连接被拒绝托管到主机:本地主机”。 之后,我去了system32 / drivers / etc / hosts并对其进行了修复,并添加了以下行:
if ($decgoogresp->success == true)
{
// Success
if(!$mail->send())
{
$msg = 'Message could not be sent.';
$msgClass = 'Mailer Error: ' . $mail->ErrorInfo;
} else {
$msg = 'Your email has been sent';
$msgClass = 'alert-success';
}
} else {
$msg = "Please check the Captcha";
$msgClass = 'alert-danger';
}
}
这不是导致我解决问题的方法。 然后,我在stackoverflow中查找了有关如何解决此问题的相同问题,然后使用(在cmd中运行)解决了该问题:
127.0.0.1 localhost
因此,rmiregistry运行了,我遇到了一个新错误-NotBoundException(但是我可以解决“连接拒绝”问题)。
servicebrowser.java:
start rmiregistry
ServiceServerImpl类:
package servicebrowser;
import java.awt.*;
import javax.swing.*;
import java.rmi.*;
import java.awt.event.*;
public class ServiceBrowser {
JPanel mainPanel;
JComboBox serviceList;
ServiceServer server;
public void buildGUI() {
Object[] services = getServicesList();
}
Object[] getServicesList() {
Object obj = null;
Object[] services = null;
try {
obj = Naming.lookup("rmi://127.0.0.1/ServiceServer");
}
catch (Exception ex) { ex.printStackTrace(); }
server = (ServiceServer) obj;
try {
services = server.getServiceList();
}
catch (Exception ex) { ex.printStackTrace(); }
return services;
}
class MyListListener implements ActionListener {
public void actionPerformed(ActionEvent ev) {
Object selection = serviceList.getSelectedItem();
loadService(selection);
}
}
public static void main(String[] args) {
new ServiceBrowser().buildGUI();
}
}
这有什么问题?我当然也关闭了防火墙。
答案 0 :(得分:-1)
非常感谢!
我以这种方式解决了我的问题。
首先,我编辑了servicebrowser类ServiceServerImpl。
类服务浏览器:
之前:
try {
obj = Naming.lookup("rmi://127.0.0.1/ServiceServer");
}
现在(加上我在代码的顶部添加了import java.rmi.registry.LocateRegistry,import java.rmi.registry.Registry):
try {
Registry registry = LocateRegistry.getRegistry("127.0.0.1", 10001);
obj = registry.lookup("ServiceServer");
}
ServiceServerImpl类:
之前:
try {
Naming.rebind("ServiceServer", new ServiceServerImpl());
}
现在(就像上一课一样,我在代码的顶部添加了导入类):
try {
Registry registry = LocateRegistry.createRegistry(10001);
registry.bind("ServiceServer", new ServiceServerImpl());
}
其次,我尝试在Netbeans中运行项目(F6),其中 servicebrowser 被标记为主类。再次是拒绝联系。之后,我只运行了 ServiceServerImpl 类(Shift + F6),然后运行了整个项目。因此,它有效。
P.S。我没有使用cmd并尝试
“启动rmiregistry”
因为没有它,该应用程序即可运行。