/ / Poco :: Net :: HTTPRequestHandler * createRequestHandler n'est pas appelé - php, poco-libraries

Poco :: Net :: HTTPRequestHandler * createRequestHandler ne s'appelle pas - php, poco-libraries

Je crée un serveur http avec Poco, comme ceci

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

et c’est la partie 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;
}
}
};

cela fonctionne bien lorsque je reçois ce serveur via des navigateurs Web. mais cela ne fonctionne jamais quand une page php redirige. comme ça

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

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

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

Je ne vois pas le "bonjour". Devrais-je définir plus de fonctions ou utiliser d'autres classes? Pas Poco :: Net :: HTTPServer?

Réponses:

1 pour la réponse № 1

Factory doit créer et renvoyer le pointeur sur HTTPRequestHandler (qui traite réellement la demande), ne retourne pas seulement 0. Voici un Exemple.