Windows – Win32命名管道和邮件大小限制 – 旧的64K限制仍然适用?
|
Win32曾经有消息模式管道的消息大小限制为64K,如KB文章 Q119218 PRB: Named Pipe Write() Limited to 64K的残余部分所见.“适用于”部分仅列出“Microsoft Win32应用程序编程接口”,文章相当陈旧;没有迹象表明它是否也适用于Windows 7等合理的当前版本.是否有关于该问题的可靠,最新信息? 当前的在线文档仅包含未指定限制的模糊提示,例如CreateNamedPipe()功能文档中的这个美丽措辞:
没有迹象表明“系统最大值”可能是什么,或者如何查询其值. TransactNamedPipe()的文档中再次出现64K限制:
但是,极限可能只适用于TransactNamedPipe()意义上的命名管道“事务”;也就是说,写入后跟读取,全部包含在单个系统调用和/或网络事务中.该限制可能与SMB有关,因此不适用于本地管道.这有什么硬信息吗? 消息模式管道非常适合当前项目,其中服务器进程获取请求数据包并提供单个响应数据包,调度程序是Apache中托管的简单多线程存根(类似于mod_fcgid).字节模式管道需要一些额外的框架,这使得消息模式管道看起来更简单,因此更可取.但是,不能将请求和响应大小限制为64K;因此这个问题. 不,不再有任何此类限制.documentation for WriteFile说:
由此我们可以得出结论,该限制不适用于当前版本的Windows,并且可能仅在处理网络管道时应用于XP. 我们还可以观察到,如果Q119218适用于当前版本的Windows,则它不会被归档. 实验上,我可以确认在Windows 7 SP1 x64上,本地消息模式管道可以处理大小超过1 GB的消息. (我开始在1650MB左右的某个地方获得“系统资源不足”消息.) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何正确使用MSBuild社区任务库在.NET dll上设置SVN版本号
- _asm int 3 软件中断
- windows – __deref_out_opt和__deref_opt_out之间有什么区
- Windows上的Vim设置文件
- Atitit webdav 的问题 -------------大文件传输问题 在某些
- winapi – Windows SDK 7.0的signtool中的signwizard发生了
- Windows Server 2016-Win Ser 2016已删减内容
- .net – System.Diagnostics.EventLog – 连接到系统的设备
- 批处理文件 – 以编程方式更改和刷新图标(无需重新启动)
- 如何在WPF应用程序中实现Vista玻璃透明度(AERO)?
- ssms – 使用Windows身份验证时,如何在SQL Serve
- windows编译和使用tesseract(C++ api)
- 如何在Windows上安装tesserocr?
- window python2.7 ImportError: No module named
- window.on load、DOMContent Loaded和$(document
- xaml – 属性内容设置多次
- 重启后如何检测Windows服务器是否可用?
- windows-phone-7 – Caliburn Micro中的墓碑
- windows-phone-8 – Nokia Imaging SDK是否有硬件
- win7运行mapreduce报错Could not locate executa
