等待netcore中的WebSocket响应

时间:2017-10-01 23:23:22

标签: c# asynchronous websocket asp.net-core

我有一个桌面应用程序,它通过WebSockets连接到Web服务器。连接打开时,服务器可以发送客户端应用程序命令。当客户端执行命令时,他告诉服务器他已完成任务。当此消息到达服务器时,WebSocket中间件将执行ReceiveAsync方法。

我需要等待服务器上客户端的响应,因为我需要根据初始命令做一些额外的事情。

以下是关于如何进行沟通的示例。在这种情况下,我们将告诉客户端创建一个新文件。

  1. 客户端通过Websocket连接到服务器。服务器使用GUID存储Websocket。
  2. 服务器发送" CreateFile"命令到服务器。
  3. 客户端收到命令并创建新文件。
  4. 客户端发送名为abc.xyz&#34的"创建的文件;消息回到服务器。
  5. 服务器将文件注册到其内部数据库中以执行其他工作。
  6. 我当前的状态是一个异步SendMessage方法,我可以等待。但是现在我需要一种方法来等待响应部分。 我已经阅读了TaskCompletionSource然后Task.WhenAll()的可能性。我还了解了ManualResetEvent的可能性。

    目前我对如何解决这个问题感到有些困惑。

0 个答案:

没有答案