不调用Poco :: Net :: HTTPRequestHandler * createRequestHandler

时间:2015-10-21 06:19:08

标签: php poco-libraries

我正在用Poco创建一个http服务器。像这样

Poco::Net::ServerSocket svs(10880);
Poco::Net::HTTPServerParams* pParams = new Poco::Net::HTTPServerParams;
pParams->setKeepAlive(true);
Poco::Net::HTTPServer srv(new RequestHandlerFactory, svs, pParams);
srv.start();

它是处理程序部分

class RequestHandlerFactory: public Poco::Net::HTTPRequestHandlerFactory
{
public:
    Poco::Net::HTTPRequestHandler* createRequestHandler(const          Poco::Net::HTTPServerRequest& request)
    {
        cout << "hi!" << endl;

        if (request.getURI() == "/test")
            cout << endl << "test!" << endl;
        else
        {
            cout << endl << request.getURI() << endl;
            return 0;
        }
    }
};
当我通过webbrowsers获取此服务器时,它运行良好。但是当php页面重定向时它永远不会起作用。像这样

//xxx.xxx.xxx.xxx is the poco server ip
echo "<meta http-equiv='refresh' content='0; url=http://xxx.xxx.xxx.xxx:10880/test'>";

或     echo“document.location.href ='http://xxx.xxx.xxx.xxx:10880/test'; “;

或     echo“http://xxx.xxx.xxx.xxx:10880/test'>”;

我没有看到“嗨”。我应该为它设置更多东西吗?或者我应该使用其他课程?不是Poco :: Net :: HTTPServer?

1 个答案:

答案 0 :(得分:1)

工厂应创建并返回指向HTTPRequestHandler(实际处理请求)的指针,而不只是返回0.这是一个example