HttpAddUrl 失败并出现 ERROR_SHARING_VIOLATION (32L)

发布于 2024-10-13 08:11:27 字数 824 浏览 6 评论 0原文

我正在尝试编写一个价格监听器。

数据作为“推送”响应到达,即:分块传输编码。 我决定使用 http 服务器 api,因为如果短时间内没有数据,异步 wininet 和 winHTTP 读取数据 api 都会关闭连接。

首先,我使用http服务器api正确吗?

其次,如果我尝试这样做,按照 msdn 的示例:

retCode = HttpInitialize( 
            HttpApiVersion,
            HTTP_INITIALIZE_SERVER,
            NULL
            );    // return is NO_ERROR

retCode = HttpCreateHttpHandle(
            &hReqQueue,
            0
            );    // return is NO_ERROR

std::wstring url = _T( "http://apidintegra.tkfweb.com:80/" );
retCode = HttpAddUrl(
            hReqQueue,
            url.c_str(),
            NULL
            );    // always fails with ERROR_SHARING_VIOLATION

我总是会遇到共享冲突。我需要使用 netsh 以某种方式配置连接吗?如果是这样怎么办?我看到提到配置 http.sys,我什至尝试以管理员身份执行上述代码。

我将非常感谢您的帮助,因为这方面的代码似乎很少!

非常感谢, 乔恩

I am attempting to write a price listener.

the data arrives as a 'push' response, ie: chunked transfer-encoding.
i have decided to use the http server api, as both async wininet and winHTTP read data apis both close the connection if there is no data for a short while.

first of all, am i correct to use the http server api?

second, if i try to, as per the msdn example:

retCode = HttpInitialize( 
            HttpApiVersion,
            HTTP_INITIALIZE_SERVER,
            NULL
            );    // return is NO_ERROR

retCode = HttpCreateHttpHandle(
            &hReqQueue,
            0
            );    // return is NO_ERROR

std::wstring url = _T( "http://apidintegra.tkfweb.com:80/" );
retCode = HttpAddUrl(
            hReqQueue,
            url.c_str(),
            NULL
            );    // always fails with ERROR_SHARING_VIOLATION

i always get a sharing violation. do i need to use netsh to configure the connection somehow? if so how? ive seen mention of configuring http.sys, and ive even tried executing the above code as an administrator.

I would be extremely grateful for some help, as there seems very little code out there for this!

Many thanks,
Jon

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最后的乘客 2024-10-20 08:11:27

如果该端口已被其他进程使用,则会发生此错误。这意味着另一个应用程序使用该端口(例如 IIS 或另一个 Web 服务器)。

This error happens if the port is already in use by another process. That means another application uses the port (for example IIS or another web server).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文