在单个上下文切换中向多个目的地/主机发送相同的tcp消息



我需要通过tcpip套接字有效地将相同的消息发送/扇形发送到主机列表。该逻辑需要循环遍历每个套接字以将消息写出来。如果这个逻辑在linux用户模式下运行,底层操作系统调用系统调用的次数将与主机的数量一样多。这是昂贵的,因为每个系统调用都需要用户模式到内核模式的上下文切换。

如果循环可以在接受主机列表(文件描述符)的系统调用中移动,将会更有效。这样的系统调用在linux中存在吗?

如果存在这样的系统调用,我们在Java中是否有一个等效的API(类似于Java中的transferTo()对应于linux中的sendfile())?

我记得Java NIO支持零复制。看一下SocketChannel和FileChannel类

相关内容

  • 没有找到相关文章

最新更新