我使用C++开发了多个服务器需要使用发布者/订阅者模式相互通信的游戏的服务器端。每台服务器都预订不同服务器上的一些事件。所有服务器位于同一网络中,因此延迟和丢包应该非常低。服务器间通信应尽可能高效,因为每秒都会发生许多事件。通过C++网络进行的进程间通信
有没有我可以用于此目的的图书馆?
任何帮助非常感谢
我使用C++开发了多个服务器需要使用发布者/订阅者模式相互通信的游戏的服务器端。每台服务器都预订不同服务器上的一些事件。所有服务器位于同一网络中,因此延迟和丢包应该非常低。服务器间通信应尽可能高效,因为每秒都会发生许多事件。通过C++网络进行的进程间通信
有没有我可以用于此目的的图书馆?
任何帮助非常感谢
你应该能够Boost.ASIO(用于异步套接字I/O)与Boost.Signals结合(对于观察者模式)或Boost.Signals2(线程版本Boost.Signals),以达到你想要的东西。
有一个简单的例子显示了这可能如何工作here。请注意,这在Boost.Signal上使用了一个包装,但你明白了。
你基本上是在谈论一个套接字库。这与IPC不同,后者指的是计算机上的两个或多个进程之间的进程间通信 - 与计算机相反 - 而不是通过网络。网络通信需要套接字编程,因此您可能需要一个优秀的高性能套接字库。 Boost.ASIO是一个很好的C++可移植套接字库,它提供了TCP和UDP套接字。
实际上,IPC可以同时指:同一台计算机上的多个进程的通信或者通过网络连接的多台计算机的通信。尽管如此,TCP/IP套接字是这个选择的工具。 – Dubu 2010-09-26 16:15:31
什么是您的操作系统和编译器? – 2010-09-26 13:48:59
服务器是基于Linux的,我们使用gcc编译它 – 2010-09-28 15:41:34