小编Fra*_*cis的帖子

在不同进程之间传递文件描述符的便携方法

在大多数UNIX系统上,可以通过fork()轻松地为子进程/父进程在进程之间传递打开的文件; 但是我需要分享一个fd"之后"孩子已经分叉了.

我发现一些网页告诉我sendmsg()可能适用于仲裁过程; 但这似乎非常依赖操作系统和复杂.该portlisten好像我能找到的最好的例子,但我更喜欢一个良好的包装库的libevent一样,隐藏的kqueue的所有魔法,游泳池,...

有谁知道是否有一些库(和便携式方式)这样做?

unix share fork file-descriptor

23
推荐指数
2
解决办法
3万
查看次数

如何计算GetModuleFileName的完整缓冲区大小?

GetModuleFileName()需要一个缓冲器和缓冲器作为输入的大小; 但是它的返回值只能告诉我们复制了多少个字符,以及大小是否足够(ERROR_INSUFFICIENT_BUFFER).

如何确定保存整个文件名的实际所需缓冲区大小GetModuleFileName()

大多数人使用,MAX_PATH但我记得路径可以超过(默认定义为260)...

(使用零作为缓冲区大小的技巧对这个API不起作用 - 我之前已经尝试过)

windows winapi getmodulefilename

12
推荐指数
2
解决办法
6068
查看次数

使用WinINET为虚拟用户创建强大的HTTP连接

我正在制作一个程序,使用Wininet系列API在Windows上从Internet下载一个简单的文件,因为我想利用它与IE兼容的代理行为.众所周知,目前的IE有几个代理设置:自动检测(WPAD),自动配置(PAC),手动单URL,每个协议的代理服务器,袜子,直接,...对于大多数用户,"直接下载" 工作良好; 但对于某些用户(特别是那些在防火墙/ NAT后面的用户),他们在建立连接时总是需要特殊的代理设置.

编写代码来处理所有这些情况是很痛苦的,所以我希望WinINET InternetOpen (INTERNET_OPEN_TYPE_PRECONFIG)可以帮助我.它适用于大多数用户,但我仍然发现一些用户抱怨连接失败.这些用户可能具有非常特殊的网络环境(例如,需要用户名/密码auth代理)并且直接连接不适用于他们.

有时虚拟用户配置错误,我想让wininet为我尝试"全部"可能的代理设置; 遗憾的是,INTERNET_OPEN_TYPE_PRECONFIG只会尝试用户配置的那个,而不是"每个可能的代理设置".

所以我的问题是,如何使一个程序具有最强大的能力来解决虚拟用户的所有http连接(特别是代理配置)(即,他们不了解如何配置他们的系统)?是否有任何建议的方式来建立HTTP连接而无需处理代理内容?(即,"超级"连接解算器将尝试所有可能的代理设置),或者是否有任何方法告诉WinINET启用其所有代理设置来创建连接?

proxy winapi wininet winhttp

5
推荐指数
1
解决办法
2956
查看次数

如何在官方Windows Python 2.5上使用时间> 2038年

Windows上的官方Python 2.5是使用Visual Studio.Net 2003构建的,它使用32位time_t.因此,当年份> 2038年时,它只是例外.

虽然这在Python 2.6中已经修复(使用VS2008将time_t更改为64位),但我想使用2.5,因为已经为它编译了许多模块.

所以这是我的问题 - 是否有任何解决方案可以轻松让我的程序处理年份> 2038仍然使用官方Python 2.5?例如,一些预先制作的图书馆喜欢"time64"或"长期"等...

请不要告诉我升级到2.6+或忘记错误 - 我有理由需要让它工作,这就是我在这里发布问题的原因.

python time time-t python-2.5 year2038

4
推荐指数
3
解决办法
2269
查看次数