diff --git a/engine2.0/engine2.0/Depends/include/TcpServerMgr.hpp b/engine2.0/engine2.0/Depends/include/TcpServerMgr.hpp new file mode 100644 index 0000000000000000000000000000000000000000..0dce117fd33f17fa4ab6f44f35224765e701579d --- /dev/null +++ b/engine2.0/engine2.0/Depends/include/TcpServerMgr.hpp @@ -0,0 +1,31 @@ +#ifndef _EasyServerMgr_hpp_ +#define _EasyServerMgr_hpp_ + +// 在不同操作系统下面选择最佳网络通信模型 +#if _WIN32 // windows系统下面会定义此宏 + #include "TcpIocpServer.hpp" // using iocp, only windows. +#elif __linux__ // 在linux系统下面会定义此宏 + #include "TcpEpollServer.hpp" // using epoll, only linux. +#else + #include "TcpSelectServer.hpp" // using select, both linux and windows. and other sys. +#endif + + +namespace doyou { + namespace io { + + #if _WIN32 + typedef TcpIocpServer TcpServerMgr; + #elif __linux__ + typedef TcpEpollServer TcpServerMgr; + #else + typedef TcpSelectServer TcpServerMgr; + #endif + + + + } // namespace io +} // namespace doyou + + +#endif // _EasyServerMgr_hpp_ diff --git a/engine2.0/engine2.0/HelloHttp/Server.cpp b/engine2.0/engine2.0/HelloHttp/Server.cpp index df1ceca94ddc6ff44edbf0a302c209f4a6c0d1ae..5c4589d5ae52351a62b418bfc4e46732dc00e48a 100644 --- a/engine2.0/engine2.0/HelloHttp/Server.cpp +++ b/engine2.0/engine2.0/HelloHttp/Server.cpp @@ -2,16 +2,13 @@ #include "Log.hpp" #include "Config.hpp" - -//#include "TcpSelectServer.hpp" -//#include "TcpEpollServer.hpp" -#include "TcpIocpServer.hpp" // windowsϵͳѡiocpģ +#include "TcpServerMgr.hpp" using namespace doyou::io; // ռ // ʹ÷ģ(ѡһ)1-TcpSelectServer 2-TcpEpollServer 3-TcpIocpServer -class MyServer : public TcpIocpServer +class MyServer : public TcpServerMgr { public: diff --git a/engine2.0/engine2.0/engine1.0/engine1.0.vcxproj b/engine2.0/engine2.0/engine1.0/engine1.0.vcxproj index 459766ba20313550bfef125fe02c931c7d34ca02..4b7c6c3acb178f6d9db5e1c4521d32fccf01e6c7 100644 --- a/engine2.0/engine2.0/engine1.0/engine1.0.vcxproj +++ b/engine2.0/engine2.0/engine1.0/engine1.0.vcxproj @@ -94,6 +94,7 @@ + diff --git a/engine2.0/engine2.0/engine1.0/engine1.0.vcxproj.filters b/engine2.0/engine2.0/engine1.0/engine1.0.vcxproj.filters index 12b2b896d51a5d39764ba8c4236c5902297bfc62..ebdda997fe6c02bdc17addf7cf8cb50836acfa80 100644 --- a/engine2.0/engine2.0/engine1.0/engine1.0.vcxproj.filters +++ b/engine2.0/engine2.0/engine1.0/engine1.0.vcxproj.filters @@ -102,5 +102,8 @@ 源文件 + + 源文件 + \ No newline at end of file diff --git a/engine2.0/engine2.0/engine2.0.sdf b/engine2.0/engine2.0/engine2.0.sdf index de1cc8b07a0ba2b5ce8f8d0b4fe4ed7e0288b6d3..cf48cfda564349363cacf650060660a78696431d 100644 Binary files a/engine2.0/engine2.0/engine2.0.sdf and b/engine2.0/engine2.0/engine2.0.sdf differ diff --git a/engine2.0/engine2.0/engine2.0.v12.suo b/engine2.0/engine2.0/engine2.0.v12.suo index 91717f0319007fbcd9951f663c265e243c752bb3..0a11cf462b48d71eb973b0fa7a15dc654f4bf1f8 100644 Binary files a/engine2.0/engine2.0/engine2.0.v12.suo and b/engine2.0/engine2.0/engine2.0.v12.suo differ