/ / Poco :: Net :: HTTPRequestHandler * createRequestHandler nie jest nazywany - php, poco-biblioteki

Poco :: Net :: HTTPRequestHandler * createRequestHandler nie jest wywoływany - php, poco-library

Tworzę serwer http za pomocą Poco. Podoba mi się to

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

i jest to część Handler

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

działa dobrze, gdy otrzymam ten serwer za pośrednictwem przeglądarki internetowej. ale nigdy nie działa, gdy przekierowuje strona php. lubię to

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

lub echo "document.location.href ="http://xxx.xxx.xxx.xxx:10880/test„; „;

lub echo "http://xxx.xxx.xxx.xxx:10880/test"> ";

Nie widzę „cześć”. Czy powinienem ustawić więcej rzeczy? Czy powinienem używać innych klas? Nie Poco :: Net :: HTTPServer?

Odpowiedzi:

1 dla odpowiedzi № 1

Fabryka powinna utworzyć i zwrócić wskaźnik do HTTPRequestHandler (która faktycznie obsługuje żądanie), a nie tylko zwraca 0. Oto an przykład.