Windows 10 Universal应用程序中的一项新功能是您可以将StreamSocket的所有权(SocketStream.TransferOwnership)转移到"套接字代理"当应用程序未运行时,然后通过套接字活动触发器对套接字活动作出反应。
但是我很难确定这是否可以用于例如Windows 10移动版上的IRC客户端。套接字似乎几乎不变,触发器只会偶尔运行?理想情况下,您希望使用"后台套接字"在未在前台运行时记录所有套接字活动...
我还没有找到关于此功能的更多内容,而且MSDN文档非常稀少
答案 0 :(得分:1)
看起来套接字几乎不变,触发器只会偶尔运行?理想情况下,您希望使用"后台套接字"在未在前台运行时记录所有套接字活动
当套接字所有权转移到后台时,后台任务将在任何套接字激活时触发。例如,从套接字服务器发送了新数据,或者套接字已关闭。
如果您只希望后台任务在应用程序未在前台运行时处理套接字活动,则应用程序可以通过以下代码取回所有权:
SocketActivityInformation socketInformation;
if (SocketActivityInformation.AllSockets.TryGetValue(SOCKET_ID, out socketInformation))
{
socket = socketInformation.StreamSocket;
}
应用开始:取回所有权
应用暂停:转让所有权
应用恢复:取回所有权
如果我对你的问题有任何误解,请纠正我:)