【问题标题】:Why do we need the event StreamSocketListener.ConnectionReceived when we use SocketActivityTrigger?为什么我们在使用SocketActivityTrigger的时候需要事件StreamSocketListener.ConnectionReceived?
【发布时间】:2020-04-28 23:38:29
【问题描述】:

StreamSocketListener 在 UWP 应用程序中用于使应用程序像服务器一样工作,即侦听网络端口并在收到该端口上的连接时做出响应。因此,我们为事件 ConnectionReceived 分配一个处理程序,该事件在收到连接时被调用。

正如here 所解释的,当我们希望在应用程序暂停时也能实现这一点时,我们配置了一个后台任务,该任务在收到连接时使用 SocketActivityTrigger 触发。因此,在这种情况下,该过程发生在后台任务的 Run 方法中。那么这是否意味着,当使用 SocketActivityTrigger 时,我们不再需要分配 ConnectionReceived 事件处理程序了?

【问题讨论】:

    标签: sockets uwp win-universal-app windows-10-universal


    【解决方案1】:

    为什么我们需要事件StreamSocketListener.ConnectionReceived when 我们使用 SocketActivityTrigger?

    两者之间是有区别的。 StreamSocketListener 就像一个服务器,当你的应用连接到监听器时,StreamSocketListener.ConnectionReceived 事件将被触发。您可以在其中获取已连接的套接字并向其发送数据。

    但是关于 SocketActivityTrigger,当你的应用在 socket 上接收到数据,keep alive 计时器过期或 socket 被关闭时,会触发 Run 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多