Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无线网络上的CORBA运行速度非常慢_Java_Wifi_Corba - Fatal编程技术网

Java 无线网络上的CORBA运行速度非常慢

Java 无线网络上的CORBA运行速度非常慢,java,wifi,corba,Java,Wifi,Corba,我有一个使用CORBA连接的java服务器客户端应用程序。应用程序通过有线连接运行良好,但通过WiFi连接时,客户端应用程序运行非常缓慢。有人知道为什么CORBA在WiFi上非常慢吗 提前感谢。如果开发人员设计像普通C++/Java对象那样的CORBA对象,CORBA可能是一个非常网络密集型的协议,这将在网络上引起一些小的交互。这使得它非常容易受到网络延迟的影响。也就是说,不是网络的整体速度,而是打开流和发送单个数据包所需的时间。一旦建立连接,无线网络可以非常快速地发送大数据包,但是,我怀疑您的

我有一个使用CORBA连接的java服务器客户端应用程序。应用程序通过有线连接运行良好,但通过WiFi连接时,客户端应用程序运行非常缓慢。有人知道为什么CORBA在WiFi上非常慢吗


提前感谢。

如果开发人员设计像普通C++/Java对象那样的CORBA对象,CORBA可能是一个非常网络密集型的协议,这将在网络上引起一些小的交互。这使得它非常容易受到网络延迟的影响。也就是说,不是网络的整体速度,而是打开流和发送单个数据包所需的时间。一旦建立连接,无线网络可以非常快速地发送大数据包,但是,我怀疑您的无线网络路由数据包的速度相当慢。

您根本没有量化什么是慢和快。有几件事要看,首先是IDL接口的设计。通常,每次调用IDL操作都会导致通过网络进行远程调用。例如,当您想要检索1M值时,不要执行1M操作,而是在更大的块中检索它们。其次,调用的有效负载是多少,要传输的数据大小是多少。如果这是一个很大的问题,并且你的wifi连接速度很慢,那么传输数据就需要时间,ZIOP(CORBA压缩)为CORBA添加了一个功能,它可以压缩你的应用程序数据,这是值得一看的。最后,您的网络设置是否正确,您使用的所有主机名和ip地址是否正常工作,例如,如果在wifi设置中DNS设置不正常,则反向查找可能会降低性能


检查您的CORBA实现以启用日志记录,查看发生了什么,传输了多少数据,是否看到错误等。

我不同意CORBA是一个非常网络密集型的协议。ORB通常只在需要时打开套接字连接,并尽可能长时间保持它们打开。只有当用户设计了一个需要大量交互的IDL接口时,才会发生非常小的交互,这与所使用的协议无关。如果您通过数千次调用来做一些简单的事情,任何技术都不会执行。CORBA的优势在于它是一种二进制协议,并且支持压缩,一个设计良好的CORBA系统在请求/应答类交互方面将优于任何其他技术。@johnny--虽然设计高效的CORBA对象是可能的,大多数程序员只是把它们当作普通对象对待,有很多getter和setter等。是的,我在几个项目中看到过这种情况,但更多的是缺乏对实现分布式网络应用程序意味着什么的理解。CORBA使创建此类系统变得更容易,但它确实是一种神圣的使命,使其变得超级容易,创建此类系统仍然是一项艰巨的工作。-1对于CORBA“在网络上进行一些小的交互”,对于它是一个“非常网络密集的协议”。这两个都不是真的:单个CORBA请求映射到网络上的单个GIOP请求(不是倍数),CDR编码非常有效(一方面,它不是自描述的,并且非常有效地打包数据结构)。我们还有另一个使用restful的服务器客户机应用程序,可以发送大量数据。但通过有线或wifi传输数据并没有任何问题。所以我认为wifi网络不是问题。如何在glassfish中启用ZIOP?不确定glassfish是否支持ZIOP,您必须检查他们的文档。关于TAO ZIOP测试,请参阅在我的应用程序上替代glassfish orb技术作为数据传输的最佳建议是什么?我正在开发java服务器,EJB和JPA部署在glassfish上,java桌面作为客户端。这两个服务器客户端都发送大量数据,主要使用arrayList和set。询问glassfish员工是否可以将ZIOP添加到他们的ORB中,这应该不会很难做到。您使用的是1Gbit有线网络和150Mbit wifi吗?如果您需要,将有8倍的速度差。