【发布时间】:2011-11-09 10:57:41
【问题描述】:
在 Corba 中编写一个简单的多客户端 服务器系统。
我被困在客户的唯一标识上。 Corba 中是否有一种机制,例如某些 POA 策略,允许服务器生成唯一的用户 ID 并与所有客户端通信一起携带。
基本上我已经完成了系统设置,所以我手动设置了这个唯一的用户 ID。客户端连接,服务器生成一个密钥发送给客户端并存储在两端。您可能在许多环境中使用的类似设置。我要问的是,Corba 是否有自己的机制可供我利用。
【问题讨论】:
在 Corba 中编写一个简单的多客户端 服务器系统。
我被困在客户的唯一标识上。 Corba 中是否有一种机制,例如某些 POA 策略,允许服务器生成唯一的用户 ID 并与所有客户端通信一起携带。
基本上我已经完成了系统设置,所以我手动设置了这个唯一的用户 ID。客户端连接,服务器生成一个密钥发送给客户端并存储在两端。您可能在许多环境中使用的类似设置。我要问的是,Corba 是否有自己的机制可供我利用。
【问题讨论】:
很遗憾,CORBA 没有任何您可以使用的内置客户端 ID 机制。 CORBA 从未指定它的主要原因是因为很难定义真正的“客户端”是什么:它是进程还是线程?它是整个层还是单个应用程序实例?与服务器在同一进程中的客户端呢?此外,某些开发人员可能希望在任何这些选项中都有不同的行为。
就个人而言,我认为让服务器为客户端指定 ID 的方法很好,但请记住,它基本上是一种“会话 ID”方法,并且很难横向扩展。确保您绝对肯定需要标识您的客户端,因为通过 IIOP/TLS 进行客户端身份验证这样简单的操作可能无法正常工作。
【讨论】: