【发布时间】:2013-04-19 10:42:40
【问题描述】:
我使用多线程开发了一个单服务器多客户端 udp 应用程序。我现在想切换到单处理器系统,所以多线程将不再帮助我:(
现在我想使用异步套接字实现服务器,这样它就可以同时处理多个客户端。
这种方法行得通吗?如果您想使用一台服务器处理多个客户端,那么使用异步套接字是否正确? 使用异步套接字比使用线程处理多个客户端更好吗?
【问题讨论】:
标签: c windows sockets network-programming udp
我使用多线程开发了一个单服务器多客户端 udp 应用程序。我现在想切换到单处理器系统,所以多线程将不再帮助我:(
现在我想使用异步套接字实现服务器,这样它就可以同时处理多个客户端。
这种方法行得通吗?如果您想使用一台服务器处理多个客户端,那么使用异步套接字是否正确? 使用异步套接字比使用线程处理多个客户端更好吗?
【问题讨论】:
标签: c windows sockets network-programming udp
我建议你看看 libevent:http://www.libevent.org/ 它提供了所有必要的功能来组织异步服务器。
【讨论】:
您可以对服务器进行多线程处理,也可以使其异步。除非您有 LOT (100s/1000s) 的连接,否则您可能不会注意到任何多路复用连接的方法的性能差异。对于少量连接,选择/轮询、线程、aio 都将执行大致相同的操作。但是,aio 更难实现。
【讨论】: