我有一个使用 IIOP 协议(protocol)的 CORBA 应用程序,我正在使用 JDK 6 的 Java IDL 组件,这是另一个 ORB 实现。
用Java语言实现客户端和服务器。
在 JDK ORB 实现中有什么方法可以从 服务器 (ORB) 代码 ?
或者
有没有办法使用 IIOP 协议(protocol),获取客户端的主机和端口?
这是我们正在做的,用于识别客户以跟踪被请求的人
最佳答案
我认为没有任何可移植的方法可以做到这一点。也许有针对您的特定 ORB,我不知道。回想一下,CORBA 非常努力地向应用程序隐藏传输细节。应用程序甚至可能没有使用 IIOP,因此在任何情况下都无法获取 TCP 主机和端口信息。
您可能需要考虑向您的 IDL 添加额外的标识符参数,以便服务器可以识别客户端。您还可以考虑让客户端调用服务器上的“注册”功能,然后服务器分发一个标识符,所有客户端必须在后续调用中传回服务器。
此标识符可以像字符串或整数一样简单,也可以像服务器必须使用公钥验证的某种安全 token 一样复杂。这完全取决于您的应用程序要求。
关于java - CORBA::使用 IIOP 获取客户端 ORB 地址和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14479816/