0
제목으로 저는 작동하는 클라이언트 서버 응용 프로그램을 가지고 있지만 이제는 더 우아하게 소프트웨어를 재 설계하려고합니다. 그래서 내가 방법을 http_listener을 만들고 POST를 처리하고 얻을 수있는 서버 클래스를 생성하지만 anymore.In 작동하지 않습니다 그 후이 - 안녕 :http_listener casablanca가 공용 메서드에서 바인딩하지 않습니다
class Server
{ 공개 : 서버() {}
Server(utility::string_t url);
pplx::task<void> open();
pplx::task<void> close();
void handle_post(web::http::http_request message);
개인 :
// Error handlers
static void handle_error(pplx::task<void>& t);
// HTTP listener
web::http::experimental::listener::http_listener m_listener;
};
Server::Server(utility::string_t url) : m_listener(url)
{
m_listener.support(methods::POST, [this](http_request request){return Server::handle_post(request); });
m_listener.support(methods::GET, handle_get);
}
handle_get이 테스트가 .c에 정의되어 있으며 그것은 작동하지만 난 POST를 지원할 수 아니에요 :
그리고 .ci에서
는이 방법. 나는이 같은 POST 방법의 다른 초기화를 시도 :m_listener.support(methods::GET, std::bind(&Server::handle_post, this, std::placeholders::_1));
그러나 그것은 작동하지 않습니다. 제안 사항?
이제 제 2의 "솔루션"이 작동하지 않는 이유를 설명해 주시겠습니까? 나는 그들을 성공 stackoverflow 많은 스레드에서 발견했다. – kenhero
@kenhero 나는 당신이 사용하고있는 라이브러리에 익숙하지 않지만 첫 번째 시도에서'this '를 전달하지 않는다고 생각했다. –