看到random java.net.SocketException:无法在MacOS上分配内存

看到random java.net.SocketException:无法在MacOS上分配内存,java,udp,netty,nio,Java,Udp,Netty,Nio,我使用Netty进行多播组订阅,在MacOS 10.8.x上遇到了一个相当大的障碍。在尝试加入一个组时,我随机看到以下异常: Caused by: java.net.SocketException: Cannot allocate memory at sun.nio.ch.Net.joinOrDrop4(Native Method) at sun.nio.ch.Net.join4(Net.java:421) at sun.nio.ch.DatagramChannelImpl.innerJoin(

我使用Netty进行多播组订阅,在MacOS 10.8.x上遇到了一个相当大的障碍。在尝试加入一个组时,我随机看到以下异常:

Caused by: java.net.SocketException: Cannot allocate memory
at sun.nio.ch.Net.joinOrDrop4(Native Method)
at sun.nio.ch.Net.join4(Net.java:421)
at sun.nio.ch.DatagramChannelImpl.innerJoin(DatagramChannelImpl.java:848)
at sun.nio.ch.DatagramChannelImpl.join(DatagramChannelImpl.java:866)
at org.jboss.netty.channel.socket.nio.NioDatagramChannel.joinGroup(NioDatagramChannel.java:158)
at org.jboss.netty.channel.socket.nio.NioDatagramChannel.joinGroup(NioDatagramChannel.java:135)
at com.soterawireless.h1s.groups.NioGroupSubscriber.joinGroup(NioGroupSubscriber.java:203)
... 5 more
以前有人见过这个例外吗?我在Windows或Linux上运行相同的应用程序时没有任何问题。这只发生在Mac上。如果您能深入了解可能导致这种情况的MacOS差异,我们将不胜感激


-布莱恩

嗯,我已经看到了。。。据我回忆,这是Mac OS X使用的*BSD内核的一个问题。。。你用谷歌搜索过吗?我已经用谷歌搜索过了,但还没有找到任何解决办法。有关于内核问题可能是什么的提示吗?也许我不是从正确的角度在谷歌上搜索。你有没有偶然发现?我确实有。不幸的是,我们无法恢复到jdk6,因为我们依赖于jdk7发布的NIO多播特性。我想知道MacOS上的NIO多播实现是否有问题?自从苹果放弃Java Mac开发并将接力棒交给Oracle之后,出现了许多问题。呃,对不起,我真的想不起还有什么比这更有用的了:/现在,我相信你最好的办法是用相关的关键字打开你最喜欢的搜索引擎,并进行优化。。。