我有一个用 C# 编写的自定义服务器,运行在 Mono 下的 Ubuntu 9 上。我可以让最多 15 个 Silverlight 客户端连接到该服务器。当我创建第 16 个客户端时,它只是等待。如果我关闭其中一个已建立的连接,第 16 个客户端就可以连接。我从一台机器创建连接。我也没有超出任何文件句柄限制。限制是 1024,而我有大约 300 个。
有什么想法可以建立更多连接吗?为什么是数字 15?这是 Linux 独有的吗?
答案1
我以前见过类似的问题 - 在那种情况下,服务器操作系统上设置了一个防火墙,它将传入连接限制为最多 10 个并发事件。
运行sudo iptables -L
并查看输出(对于像“ limit
”这样的文本,或者只是15
)至少可以将这种防火墙限制从要检查的事项列表中删除。如果有大量输出,那么就需要更仔细地检查,因为很可能有一个系统可以生成一组更复杂的规则。在这种自动化工具中添加此类限制可能相当常见。
答案2
我之前使用的是 mono 2.6.7。升级到 2.10.8 解决了这个问题。