RM over SSL with single port on server(服务器上具有单端口的基于SSL的RM)
                            本文介绍了服务器上具有单端口的基于SSL的RM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
案例1-不带SSL
当我需要一个简单的RMI连接(没有SSL)时,我在服务器上使用以下代码
Registry registry = LocateRegistry.createRegistry(2004,rmiClientSocketFactory,rmiServerSocketFactory);
stub=UnicastRemoteObject.exportObject(someObj, 2004, rmiClientSocketFactory,rmiServerSocketFactory);
案例2-使用SSL
我使用与案例1相同的代码,只是两个工厂都是SSL工厂。结果-在服务器端,在端口2004上创建了一个套接字,但我的客户端无法连接到它-它抛出
java.rmi.ConnectIOException: non-JRMP server at remote endpoint
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:248)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    at rmi.DateClient.perform(DateClient.java:48)
    at rmi.DateClient.main(DateClient.java:38)
Exception occured: java.rmi.ConnectIOException: non-JRMP server at remote endpoint
要使其正常工作,我需要将服务器上的代码修改为
Registry registry = LocateRegistry.createRegistry(2004);
stub = UnicastRemoteObject.exportObject(someObj, 0, rmiClientSocketFactory, rmiServerSocketFactory);
推荐答案
要使其正常工作,我需要将服务器上的代码修改为
Registry registry = LocateRegistry.createRegistry(2004);
不。这是一个倒退的步骤:您正在从注册表中删除SSL。您需要修改客户端以在查找注册表时使用SSL。这意味着您必须使用Registry类,而不是Naming:
Registry registry = LocateRegistry.getRegistry(host, 2004, rmiClientSocketFactory);
MyRemoteInterface mri = (MyRemoteInterface)registry.lookup(...);
这篇关于服务器上具有单端口的基于SSL的RM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:服务器上具有单端口的基于SSL的RM
 
				
         
 
            
        基础教程推荐
             猜你喜欢
        
	     - 大摇大摆的枚举 2022-01-01
- 多个组件的复杂布局 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- 从 python 访问 JVM 2022-01-01
- 不推荐使用 Api 注释的描述 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- Java Swing计时器未清除 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
						 
						 
						 
						 
						 
				 
				 
				 
				