找回密码
 加入
搜索
查看: 4573|回复: 1

[系统综合] Windows Socket 句柄数限制是多少?请教。

[复制链接]
发表于 2014-2-4 14:17:19 | 显示全部楼层 |阅读模式
长久以来一直在郁闷一个问题,我有个服务端程序,之前因为Socket句柄泄露,没有释放导致系统无法浏览网页,但远程、ping外网什么的都通,后台修正程序后不再出现类似问题了。
今天闲的蛋疼,就想找找Windows Socket到底限制到多少。下面是示例程序(连接的IP要有程序在监听80端口,否则不起作用),将程序中的$nSocket内容改大一点在电脑上运行后,会出现无法打开网页的情况。


#include <File.au3>

Local $g_IP = "192.168.3.5"
TCPStartup()

$nSocket = 3100

For $i = 1 To $nSocket
        Local $socket = TCPConnect($g_IP, 80)
Next

RunWait(@ComSpec & ' /c "' & @ScriptDir & '\Handle.exe" -a >c:\1.txt')

$hOpen = FileOpen('C:\1.txt')
$str = FileRead($hOpen)
$strR = StringRegExp($str, '\\Device\\Afd|\\Device\\Tcp', 3)
FileClose($hOpen)

ShellExecute('C:\Program Files\Internet Explorer\IEXPLORE.EXE')
MsgBox(0, 'Tcp | Afd 总数=' & UBound($strR) - 1, '创建 ' & $nSocket & ' 个连接完成!')



Handle.exe在这里下载,放到程序目录下,运行上面代码就可以了。
当程序一次性创建N个连接后,就会出现无法打开网页的情况,但具体系统限制多少个Socket连接就不是很清楚了,有人熟悉这方面问题吗?
发表于 2014-2-13 05:27:15 | 显示全部楼层
嗯,以前写托管检测的时候,由于一个BUG导致,无限建立连接,后来用工具才查到原因..

没记错的话是65633
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-13 05:08 , Processed in 0.074701 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表