为什么使用SocketActivityTrigger时需要事件StreamSocketListener.ConnectionReceived?

问题描述 投票:0回答:1

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

并且如here所述,当我们也想在应用程序也被挂起时使之成为可能时,我们配置一个后台任务,每当收到连接时,便使用SocketActivityTrigger触发该任务。因此,在这种情况下,该过程将在后台任务的Run方法中发生。因此,这是否意味着当使用SocketActivityTrigger时,我们不再需要分配ConnectionReceived事件处理程序吗?

sockets uwp win-universal-app windows-10-universal
1个回答
0
投票

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

两者之间有区别。 StreamSocketListener就像服务器一样,当您的应用程序连接到侦听器时,将触发StreamSocketListener.ConnectionReceived事件。您可以在其中获得连接的套接字并向其发送数据。

但是关于SocketActivityTrigger,当您的应用程序在套接字上接收数据,保活计时器到期或套接字被关闭时,将触发Run方法。

© www.soinside.com 2019 - 2024. All rights reserved.