我使用多线程开发了一个单服务器多客户端 udp 应用程序。我现在想切换到单处理器系统,所以多线程将不再帮助我:(
现在我想使用异步套接字实现服务器,以便它可以一次处理多个客户端。
这种方法能正常工作吗?如果您想使用一台服务器处理多个客户端,那么使用异步套接字是否正确?使用异步套接字比使用线程处理多个客户端更好吗?
我使用多线程开发了一个单服务器多客户端 udp 应用程序。我现在想切换到单处理器系统,所以多线程将不再帮助我:(
现在我想使用异步套接字实现服务器,以便它可以一次处理多个客户端。
这种方法能正常工作吗?如果您想使用一台服务器处理多个客户端,那么使用异步套接字是否正确?使用异步套接字比使用线程处理多个客户端更好吗?
我建议你看看 libevent:http ://www.libevent.org/它提供了组织异步服务器的所有必要功能。
您可以对服务器进行多线程处理,也可以使其异步。除非你有很多(100s/1000s)的连接,否则你可能不会注意到任何多路复用连接的方法的性能差异。对于少量连接,选择/轮询、线程、aio 都将执行大致相同的操作。但是,aio 更难以扎实实施。