【问题标题】:Advantage of using async socket server使用异步套接字服务器的优势
【发布时间】:2011-11-12 03:38:26
【问题描述】:

在什么情况下我们应该使用异步套接字(Tcp 或 Udp)服务器而不是同步套接字服务器?

如果它在客户端,我知道我们曾经使用异步,这样它就不会阻塞 UI 线程..但我不确定为什么我们需要在服务器端使用异步..

【问题讨论】:

  • 在没有任何线程的情况下使用sync socket server,并逐个处理传入的请求

标签: c# sockets


【解决方案1】:

在服务器端,允许客户端并行处理很重要。如果您正在处理一个客户端的大型请求,您不希望第二个客户端的连接请求超时。这并不意味着您必须 使用异步方法。您可以轻松地为每个连接的客户端创建一个单独的线程,并在主线程中同步接受新客户端(对于 Udp,您可以使用队列来处理来自 ThreadPool 的线程中的每个消息)。

异步套接字方法已经处理了并行性(也通过使用单独的线程),因此它是保持服务器平稳运行的好方法。

【讨论】:

  • +1。同步代码通常很容易编写,因此如果您只需要为多个客户端提供服务 - 同步代码就可以了。根据大约 10-100 个客户端的负载,您必须切换到异步模型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多