2011-12-21 170 views
2

如何使用boost :: asio同时监听两个套接字?我认为不应该有两个io_service。我是否应该解决两个询问两个接受者听两个杯子?假设这两个插座是:使用boost :: asio监听两个socket

127.0.0.1:7001 
127.0.0.2:7001 

回答

3

您正确使用一个asio io_service。 (您当然可以使用尽可能多的代码,但只使用一个代码会更有效率,因为它会阻塞某个线程,并且避免不必要的上下文切换。另外,如果您希望使用多线程,则可以调用io_service::run多个处理器)。

acceptorsocket封装在类中,如许多asio示例中所演示的,并通过引用将io_service传递给类构造函数。然后,您可以使用bind接受方到达所需的地址,listen,并在您调用的类方法中调用async_accept

相关问题