dtpd58676 2015-10-21 06:19
浏览 180

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

I'm creating a http server with Poco. like this

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();

and it's Handler part

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;
        }
    }
};

it works well when I get this server through webbrowsers. but it never works when a php page redirects. like this

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

or echo " document.location.href='http://xxx.xxx.xxx.xxx:10880/test'; ";

or echo "http://xxx.xxx.xxx.xxx:10880/test'>";

I don't see the "hi". Should I set more things for it? or should I use other classes? not Poco::Net::HTTPServer?

  • 写回答

1条回答 默认 最新

  • dongqi4085 2015-10-21 14:52
    关注

    Factory should create and return pointer to HTTPRequestHandler (which actually handles the request), not just return 0. Here's an example.

    评论

报告相同问题?

悬赏问题

  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源