后台传输中的 WebSocket 和 Xamarin.iOS 中的 NSURLSession

问题描述

我正在考虑创建一个 Xamarin.iOS 应用程序,当应用程序处于后台或挂起时,该应用程序可以连接到 WebSocket 服务器。一旦收到来自服务器的特定“关闭”消息,应用程序就会关闭通道。

根据 Apple 的文档,NSUrlSession 允许 create a WebSocket task for the provided URL

Xamarin 有一个关于使用 NSUrlSession 的简短指南,但 API 参考文档 does not have 任何与 WebSocket 相关的方法

搜索引擎搜索“xamarin nsurlsession webSocketTaskWithURL”返回零结果。

是否可以在 Xamarin.iOS 的 NSUrlSession 中使用 WebSocket?


更新 1:

Visual StudioNSUrlSessionWebSocketTask.CreateWebSocketTask 一无所知:

NSUrlSessionWebSocketTask in Visual Studio

(Microsoft Visual Studio 社区 2017,版本 15.9.25,Xamarin iOS 12.4.0.64)

解决方法

就像我在评论中提供的链接一样,您可以使用 NSURLSessionWebSocketTask 来创建通过 WebSockets 协议标准进行通信的 URL 会话任务。

  NSUrlSessionConfiguration nSUrlSessionConfiguration=null;
        NSUrlSession session= NSUrlSession.FromConfiguration(nSUrlSessionConfiguration);
        NSUrl nSUrl =new NSUrl("");
        NSUrlSessionWebSocketTask task = session.CreateWebSocketTask(nSUrl);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...