0
タイトルとして私は動作するクライアントサーバーアプリケーションを持っていますが、今私はより優雅に私のソフトウェアを再設計しようとしています。だから私はhttp_listenerを作成して、POSTを処理し、メソッドをGETするには、Serverクラスを作成したが、その後、それは.hiが持って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;
};
そして.ciであります
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をサポートすることができないんだけどさ方法 。 は、私はまた、このようにPOSTメソッドの異なる初期化を試してみました:
m_listener.support(methods::GET, std::bind(&Server::handle_post, this, std::placeholders::_1));
が、それは動作しません。 提案?
今、私の2つの "ソリューション"がうまくいかなかった理由を教えてくれますか? 私は成功していないstackoverflowの多くのスレッドでそれらを見つけました。 – kenhero
@kenhero私はあなたが使用しているライブラリに精通していませんが、私の最初の考えは、あなたが最初の試みで 'this 'を渡していないということでした。 –