java - Corba 序列<octet> 比使用套接字慢很多

标签 java streaming corba

我有一个与 corba 相关的问题。

在我的 Java 应用程序中我使用 typedef 序列数据;

现在我开始研究这个数据 vector 。如果我对 Corba 规范的理解是正确的 序列将转换为 xs:base64Binary 或 xs:hexBinary。 它应该是不透明类型,因此不应使用任何编码。

我尝试了不同的 idl 样式:

void Get(out Data d);
Data Get();

但我发现使用 Corba 移动数据比直接使用套接字慢很多。我对一点点开销没问题,但对我来说,数据看起来仍然是经过编码的。

我是否需要以某种方式配置我的球体来抑制编码,或者我错过了什么。

最佳答案

1) 不,不需要配置任何东西。 2) 你没有错过任何东西。

当 CORBA 编码所有内容时,八位位组序列也被编码。 它总是按原样进行编码(作为字节序列)。编码并不意味着它必须以某种方式改变。每次对象序列化时都会使用CDR编码。这个过程称为编码。

顺便说一句,你使用SUN的java orb还是JacORB? 因为每个 ORB 可能有不同或附加的属性设置。 (但它不应该...)

CORBA 3.0.3 规范中的八位字节定义:“超出 0 - 255 范围的八位字节常量的值将导致编译时错误。[...] 八位字节类型是一个 8 位数量,保证在通信系统传输时不发生任何转换。”

用斜体编辑

关于java - Corba 序列<octet> 比使用套接字慢很多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1079504/

相关文章:

java.lang.IndexOutOfBoundsException : index=3 out of bounds (limit=6, nb=4)

iphone - 如何在 iPhone 上实现 <50 毫秒延迟的音频流

c++ - CORBA C++/Java 应用程序中服务器端的段错误(核心转储)

Android 音频流 - 在 AudioTrack 上获取静态噪声

java - ORB.destroy() 无法正确清理,ORB 对象实例不会被垃圾回收

java - java网络编程

java.lang.NoClassDefFoundError : org/apache/commons/pool/impl/GenericObjectPool 错误

java - 如何创建具有正确宽度和高度的垂直标签?

java - Reg~x 代表 N~number

hadoop - 从日志存档创建Spark Dstream