HttpServer.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * Tencent is pleased to support the open source community by making Tars available.
  3. *
  4. * Copyright (C) 2016THL A29 Limited, a Tencent company. All rights reserved.
  5. *
  6. * Licensed under the BSD 3-Clause License (the "License"); you may not use this file except
  7. * in compliance with the License. You may obtain a copy of the License at
  8. *
  9. * https://opensource.org/licenses/BSD-3-Clause
  10. *
  11. * Unless required by applicable law or agreed to in writing, software distributed
  12. * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
  13. * CONDITIONS OF ANY KIND, either express or implied. See the License for the
  14. * specific language governing permissions and limitations under the License.
  15. */
  16. #include "HttpServer.h"
  17. #include "HttpImp.h"
  18. using namespace std;
  19. HttpServer g_app;
  20. void
  21. HttpServer::initialize()
  22. {
  23. //initialize application here:
  24. //...
  25. addServant<HttpImp>(ServerConfig::Application + "." + ServerConfig::ServerName + ".HttpObj");
  26. addServantProtocol(ServerConfig::Application + "." + ServerConfig::ServerName + ".HttpObj",&TC_NetWorkBuffer::parseHttp);
  27. addAcceptCallback(std::bind(&HttpServer::onNewClient, this, std::placeholders::_1));
  28. }
  29. /////////////////////////////////////////////////////////////////
  30. void
  31. HttpServer::destroyApp()
  32. {
  33. //destroy application here:
  34. //...
  35. }
  36. void HttpServer::onNewClient(TC_EpollServer::Connection* conn)
  37. {
  38. std::cout << "New client from " << conn->getIp() << ":" << conn->getPort() << std::endl;
  39. }
  40. /////////////////////////////////////////////////////////////////
  41. int
  42. main(int argc, char* argv[])
  43. {
  44. try
  45. {
  46. g_app.main(argc, argv);
  47. g_app.waitForShutdown();
  48. }
  49. catch (std::exception& e)
  50. {
  51. cerr << "std::exception:" << e.what() << std::endl;
  52. }
  53. catch (...)
  54. {
  55. cerr << "unknown exception." << std::endl;
  56. }
  57. return -1;
  58. }
  59. /////////////////////////////////////////////////////////////////