在java中使用内核旁路进行网络连接

tpgth1q7  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(222)

很难说出这里要问什么。这个问题模棱两可,含糊不清,不完整,过于宽泛,或者是修辞性的,不能以现在的形式得到合理的回答。有关澄清此问题以便重新打开的帮助,请访问帮助中心。
8年前关门了。
有人知道如何在java中绕过内核吗?有什么好世界或者这是火箭科学吗?

zf2sa74q

zf2sa74q1#

如果您使用的是solarflare,那么可以使用他们的api来绕过内核(我没有直接使用它,所以不能提供更多细节)。您还可以使用诸如29west lbm或ibmllm之类的消息传递代理,它们在各种硬件上支持丰富的功能。
正如@esniff提到的,jre transferFrom() / transferTo() 目前用于公开 sendfile(2) 相当于支持它的系统。定义了api的语义,因此它可以透明地实现,以支持任意2个通道之间的dma传输。

idv4meu8

idv4meu82#

搜索“javazero copy buffers”或“javanio”或“javanetty”。
以下是关于netty和zero copy的幻灯片:http://www.slideshare.net/danbim/zerocopy-eventdriven-servers-with-netty . 下面是一个netty的示例项目。
或者您可以转到较低的级别并使用java.nio.channels类,您可以在这里了解这些类http://www.ibm.com/developerworks/linux/library/j-zerocopy/

相关问题