与Windows 7中的共享断开连接时,如何避免12秒的延迟?

kiz*_*ill 5 windows smb netbios windows-7

我正在制作一些使用NetUseAdd和NetUseDel函数来连接/断开共享的工具。在Windows 7中,我注意到在调用NetUseDel和真正的断开连接之间经过了将近12秒。我进行了一些调查,发现net use \ server / del也仅在12秒后断开连接。这是小脚本和Wireshark输出,与脚本的运行相对应:

net use \\server "" /user:""
net use \\server /delete
Run Code Online (Sandbox Code Playgroud)

http://i.stack.imgur.com/5CyCw.png

设置最后一棵树connect smb命令作为参考,我们可以看到,树断开延迟了12秒。

有人知道如何减少这种超时吗?

dle*_*lev 0

为什么要延迟断开连接?超时的全部意义在于本质上缓存共享,因为 Windows 知道如果您访问共享一次,您很可能会再次访问。它不想浪费时间不断地建立和断开一个很容易保持打开状态的连接,因此它会延迟关闭它。

如果您需要访问共享,那么这对您有帮助。不要担心删除它以便您可以重新创建它;只需使用它即可。

  • 我了解这种缓存的优点,但在我当前的任务中,我需要使用不同的凭据访问单个主机上的共享,并且这种缓存使重新连接成为一个大麻烦 - 它缓存了最后的凭据权限。 (5认同)