c++ - 无法使用 http_listener(C++ REST SDK)监听具有本地主机地址的特定端口号

标签 c++ casablanca

我使用 C++ REST SDK 构建一个 HTTP 服务器,用于接收来自 postman 的请求,但是如果我这样编码:

http_listener listener(L"http://localhost/io");
listener.open().wait();

listener.support(methods::POST, [](http_request req) {
 });

Postman 可以在 POST 方法中使用 http://localhost/io 连接到它, 但是如果我这样编码:

http_listener listener(L"http://localhost:6000/io");

Postman 无法使用 http://localhost:6000/io 和 POST 方法连接到它。 但是如果我像 http_listener listener(L"http://localhost/io:6000"); 这样编码 Postman 可以在 http://localhost/io:6000 中使用 POST 方法连接它。我怎样才能让 http://localhost:6000/io 为我的听众工作?我使用的另一个程序总是向 http://localhost:6000/io 发送 http 请求,所以我需要让我的服务器监听这个地址。

http_listener listener(L"http://localhost:6000"); //doesn't work, too.

但是当我将 6000 更改为任何其他端口号时,如 7000 或 8000,如 http_listener listener(L"http://localhost:7000")http_listener listener(L"http://localhost:7000/io") 它对我有用。我使用netstat -a -b查看6000是否被其他程序占用,但是6000是空闲的。

最佳答案

我想我有答案了。我遇到了同样的问题,我使用了不同的未使用端口和“支持”功能的不同用法:

http_listener listener(L"http://localhost:11369/");
listener->open().wait();
listener->configuration() ;

listener->support(methods::GET,
        std::tr1::bind(&CMFCApplication1Dlg::handle_get,
            this,
            std::tr1::placeholders::_1));
listener->support(methods::PUT,
        std::tr1::bind(&CMFCApplication1Dlg::handle_put,
            this,
            std::tr1::placeholders::_1));
listener->support(methods::POST,
        std::tr1::bind(&CMFCApplication1Dlg::handle_post,
            this,
            std::tr1::placeholders::_1));
listener->support(methods::DEL,
        std::tr1::bind(&CMFCApplication1Dlg::handle_delete,
            this,
            std::tr1::placeholders::_1));

我在 C++ MFC 应用程序中使用 http_listener。所以这对你来说肯定会有所不同。如果您需要任何帮助处理程序来回答收到的请求,请随时告诉我! 此致,艾哈迈德。

关于c++ - 无法使用 http_listener(C++ REST SDK)监听具有本地主机地址的特定端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39800992/

相关文章:

c++ - 是否有像苹果针对 Objective C 的 C++ 内存管理指南?

c++ - 模板表达式如何摆脱临时变量

c++ - OpenGL实例化绘图如何处理顶点输入限制

c++ - 如何在 GLSL 中将 float 量化为无符号字节

c++ - 将 getch() 响应转换为 ascii 字符

c++ - cmake 包含和库的路径问题

C++ REST SDK 卡萨布兰卡 Client.request

c++ - 从主机向在 VirtualBox Linux 机器上运行的服务器发送 http 请求

c++ - 如何包装 C++11 回调?

c++ - 卡萨布兰卡中的 HTTP 身份验证