微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决后台传输中的 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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?