0

我有 Appl A,它是 JacORB 客户端,而 Appl B 是 TAO 服务器。

执行细节:

a) Appl A 最初使用其 corbaloc URL 为服务器进程 (Appl B) 创建 object_reference,并在映射中维护此引用以供后续使用。这意味着相同的对象引用用于 Appl B 上的所有 corba 调用。

b) Appl A 调用上面创建的 Appl B 的缩小对象引用的清单方法。

c) 在服务器端(TAO),servant 完成请求并发送响应。

d)在 Jacorb 客户端很长一段时间后(我认为在超时间隔之后)我得到一个异常:

     org.omg.CORBA.COMM_FAILURE:   vmcid: 0x0  minor code: 0 completed: Maybe
    at org.jacorb.orb.giop.ReplyPlaceholder.getInputStream(ReplyPlaceholder.java:133)

. e) 如果在上述请求超时之前,如果再次在服务器上进行相同的查询,(使用相同的连接对象),则收到两个响应,并正确处理

知道在这种情况下如何进行吗?我的猜测是套接字缓冲区正在等待刷新,这就是为什么它总是第二次工作知道如何在连接对象上强制刷新吗?

4

1 回答 1

0

使用 -ORBDebugLevel 10 运行 TAO 端并查看 ORB 打印的消息。您的 TAO 版本相当旧,请查看 TAO 2.0.3,您可以从http://download.dre.vanderbilt.edu下载它

于 2011-07-04T09:17:03.857 回答