Windows限制每台机器同时打开的插槽/连接数
假设我的
Windows 7具有一个真实的网络接口和很少的环回接口.
我有启用IOCP的服务器,它接受来自客户端的连接. 我正在尝试尽可能多地模拟与服务器的真实客户端连接. 我的客户端代码只是建立了X个套接字连接 const Int32 remotePort = 12345; const Int32 MaxSockets = 60000; Socket[] s = new Socket[MaxSockets]; IPEndPoint bindEndpoint = new IPEndPoint(IPAddress.Parse(args[0]),0); for (Int32 i = 0; i < MaxSockets; i++) { s[i] = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); s[i].SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.ReuseAddress,true); s[i].Bind(bindEndpoint); s[i].Connect(args[1],remotePort); IPEndPoint socketInfo = (IPEndPoint)s[i].LocalEndPoint; Console.WriteLine(String.Format("Connected socket {0} {1} : {2}",i,socketInfo.Address,socketInfo.Port)); } 在环回接口上,我有几个用于绑定的IP. 未处理的异常:System.Net.Sockets.SocketException:无法执行套接字上的操作,因为系统缺少足够的缓冲区空间或因为队列已满 我尝试了几个无助的东西,比如: 它是Windows中的已知限制还是可以以某种方式克服它? 谢谢您的帮助! 解决方法
我在一些Microsoft页面上发现:
因此,如果我强制端点使用某个端口,例如 IPEndPoint bindEndpoint = new IPEndPoint(IPAddress.Parse(args[0]),54321); 然后我可以在系统中打开超过64K的同时套接字. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .net – 如何禁用FlipView上的箭头?
- 即指即现:为Windows 7任务栏预览提速
- win7 共享打印机后,客户端连接提示:打印机已删除(0x0000
- windows-server-2008 – 如何从网站安全地链接到Windows文件
- 如何检测Windows机箱上是否安装了特定证书?
- audio – 如何将QBASIC PLAY命令转换为更现代的东西?
- windows – powershell:改变当前会话的文化
- 如何在Windows Phone Web浏览器中显示本地HTML?
- Windows GUI编程 – C SDK或C#Windows窗体
- windows-server-2003 – 在Windows计划任务失败时收到警报
- winforms – ScrollBar不会在Select()上滚动
- windows-phone-8 – Windows Phone 8试用版到期时
- windows – lastLogon与Active Directory中的las
- 在安装了libv8的windows上安装therubyracer –wi
- group-policy – Windows 8配置文件创建视频
- 如何在Rich Edit控件(Win32 / C)中更改下划线颜色
- 如何在没有Window-object的firefox附加组件/扩展
- wpf – 如何增加XAML中SymbolIcon的大小?
- iis-7 – IIS 7是否具有同时请求的限制?
- windows – 在服务器操作系统升级中跳过两个版本