怎么改变uri http_listener听它

时间:2017-06-03 11:24:25

标签: c++ casablanca

我使用cpprest(casablanca)库的http_listener作为我的服务器 在客户端的一些请求后,我想改变uri,这个监听器在监听器的handle_post中监听它 在main.cpp中我有这段代码:

    changeIpOrPort = 0;


try
{

    while (true){

        web::http::experimental::listener::http_listener *MyListener = new web::http::experimental::listener::http_listener(uri("http://"+MyserverIpaddress+":"+MyserverPort+"/"));
        MyListener->support(methods::GET, handle_get);
        MyListener->support(methods::POST, handle_post);

        MyListener
                ->open()
                .then([&MyListener]() {TRACE(L"\n Again starting to listen\n"); })
                .wait();

        std::cout <<"current ip server is :"<<MyserverIpaddress<<" current port is "<< MyserverPort  <<endl;
        changeIpOrPort = 0;
        while(changeIpOrPort == 0);
        MyListener->close();
        delete(MyListener);

    }

}
catch (exception const & e)
{
    wcout <<L"exception is " <<e.what() << endl;
}
在source.cpp中定义的handle_post函数中的

,当我认识到客户端想要更改服务器IP地址时,我将changeIpOrPort设置为1.
但我提出了一个例外:
bind:无法分配请求的地址

有人知道为什么会出现这种异常以及如何修复它吗?

0 个答案:

没有答案