【问题标题】:Trying to create many concurrent UDP flows. - java.net.SocketException Too many open files尝试创建许多并发 UDP 流。 - java.net.SocketException 打开的文件太多
【发布时间】:2013-07-04 12:40:12
【问题描述】:

我正在尝试使用 java 创建从一台计算机到另一台计算机的 10000 个并发 udp 流。它适用于大约 3000-4000 但之后它给了我以下错误。

java.net.SocketException: Too many open files
    at java.net.PlainDatagramSocketImpl.datagramSocketCreate(Native Method)
    at java.net.AbstractPlainDatagramSocketImpl.create(AbstractPlainDatagramSocketImpl.java:82)
    at java.net.DatagramSocket.createImpl(DatagramSocket.java:322)
    at java.net.DatagramSocket.<init>(DatagramSocket.java:179)
    at SendThread.<init>(SendThread.java:20)
    at Client.main(Client.java:9)

在查看相同错误的其他几个链接后,似乎 linux 对单个应用程序可以同时打开的文件数有限制。我的计算机上的这个限制似乎是无限的。

>ulimit 
unlimited

这是我的代码。

https://copy.com/9YwpvpScPDEUITQ8

【问题讨论】:

  • 尝试ulimit -n并通过ulimit -n &lt;some high number&gt;更新它
  • 谢谢,解决了!
  • 您好,如何使用 Android Studio 进行设置?

标签: java udp socketexception


【解决方案1】:

检查ulimit -n 并使用ulimit -n &lt;some high number&gt; 更新它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多