我正在工作网关模拟器网关的目的是连接数据中心,并在数据中心请求时将视频流传输到数据中心。
这里的网关模拟器可以模拟1000个网关。这意味着每个网关都将与数据中心连接。我很困惑如何在网关中管理这么多的套接字。
在c ++中可以选择用于此目的的多路分解与数据中心的连接。在这里我可能要创建1000连接选择是不合适的。
我想通过采用acceptor.async方法管理服务器中的多个客户端,处理程序将采取这种方式。
但由于网关是客户端应用程序
如何管理多个连接,以便我可以从数据中心获取每个连接的请求。
Gateway将在两个Windows和Linux上运行。
答案 0 :(得分:3)
WSAEventSelect
epoll
kqueue
答案 1 :(得分:1)
如果要解决这个问题,我首先尝试使用libevent。 Libevent会自动为每个平台选择“最佳可用”机制,无论是epoll
,kqueue
还是select
,并且您可以专注于您的计划所特有的内容。< / p>
答案 2 :(得分:1)
我不确定Boost.Asio - 这可能是可能的,但我必须对它进行研究。 Boost.Asio似乎没有任何调用WSAWaitForMultipleEvents的实现,所以我不知道现有支持你需要的东西。
在Windows中,至少WSAWaitForMultipleEvents是你的答案。 http://msdn.microsoft.com/en-us/library/ms742219(v=vs.85).aspx