evpp
evpp copied to clipboard
如何使得多种服务运行在同一进程内,希望提供个例子?
如何使得同一进程内同时运行evpp::http::Server & evpp::udp::Server & evpp::TCPServer server 三种服务各一个实例? 谢谢!
创建 多个 TcpServer 或 http:Service 。然后用同一个 EventLoop 就可以了。 so easy。
只是有点不太好的地方, http::Service 不是多线程的。httpServer 又不能用 EventLoop.
要是多个 TCP/UDP服务,参考 multi_accept 例子即可; 现在想看看 TCP / HTTP 服务一起高效运行的例子
evpp::TCPServer server(&loop, "0.0.0.0:8088", "server1", 4);
server.Init();
server.SetConnectionCallback(ClientConnectionCallback);
server.SetMessageCallback(ClientMessageCallback);
server.Start();
evpp::TCPServer server2(&loop, "0.0.0.0:8089", "server2", 4);
server2.Init();
server2.SetConnectionCallback(ClientConnectionCallback);
server2.SetMessageCallback(ClientMessageCallback);
server2.Start();
evpp::http::Service http_server(&loop);
http_server.RegisterDefaultHandler(HttpRequestCallback);
http_server.Listen(8000);
evpp::http::Server http_server2(4);
http_server2.RegisterDefaultHandler(HttpRequestCallback);
http_server2.Init("8080,9000");
http_server2.Start();
loop.Run();