是否有可能corba服务响应一次多次请求?在我的例子中,corba服务收集了大量的数据,请求需要很长时间。为了减少延迟客户端接收响应,我们希望在收集到的数据大小达到1024k时立即响应服务。例如,总数据大小为10M,服务响应客户端在一个连接上10次。
我的理解是,corba服务器应该缓存客户机和服务器之间的连接,并且一旦有新数据可用,就应该在缓存的数据上传递新的数据。在另一个句柄上,客户端应该为传入响应执行while循环。客户端或服务器都不应该关闭连接,直到服务器声明所有数据都已连接。此过程类似于Http协议中的分组响应。
如果你能在这方面提供一些提示或示例链接,我将不胜感激。
发布于 2014-07-05 18:19:42
CORBA服务器端只能在服务器应用程序代码返回函数调用时向客户端发送数据。如果您在IDL中只有一个返回10M的操作,则ORB只能在操作完成后将该数据传输给客户端。为了允许ORB发送它拥有的数据,您必须修改IDL,并为客户机添加一种启动操作的方式,而不是轮询可用的大块数据。每个实现的轮询比返回一个块。
如何这样做的一些示例是道的一部分。您可以在ACE_wrappers/TAO/ examples /Content下面找到这些示例。它还有一个示例,当一个块可用时,服务器将数据推送给客户端。
https://stackoverflow.com/questions/24589054
复制相似问题