ios - 无法完成操作。 (Starscream.WSError 错误 1.) RBSManager

标签 ios swift xcode websocket ros

我正在尝试使用 iOS App 连接到 ROS Machine 我正在使用 RBSManager

it's A Swift-native library for handling the WebSocket connection to a Robot Operating System (ROS) master running ROSBridge for Controll your robots with a mobile phone

.

但每次我尝试连接到 ROS 机器时都会出现错误:

The operation couldn't be completed. (Starscream.WSError error 1.)

我使用 swift 4 作为编程语言,使用 xcode 10 作为 IDE。

我尝试连接的主机是:“192.168.69.155:11311”。

最佳答案

您可能需要解决两件事才能使其目前正常工作。

1) 使用默认端口 9090 而不是 11311 假设您没有特别更改它。在 RBSManager 示例应用程序的主机文本输入中,键入 ws://192.168.69.155:9090(如果您愿意,可以省略 ws://)。端口 11311 是默认端口,如果这是 ROS < > ROS 连接(例如,同一子网上运行 ROS 的两台 Ubuntu 计算机),则将使用该端口。 ROS Bridge 提供了一个不同的功能,除了数据以 JSON 格式传输之外。

2) 如果您在尝试让 RBSManager 与 ROS Kinetic(在 Ubuntu 16.04 上)一起工作时遇到错误,那么似乎其中一个库有问题,tornado on ROS 动力学方面。尝试从版本 5.1.1 降级到 4.5.3。这样做为我解决了这个问题。此解决方案来自 After tornado upgraded to version 5.0, websocket disconnects immediately after connection #353

命令如下: pip uninstall tornado, pip install tornado==4.5.3

最后,相同的 RBSManager 示例应用程序无需任何调整即可在 Ubuntu 18.04 上使用 ROS Melodic 运行 tornado。

关于ios - 无法完成操作。 (Starscream.WSError 错误 1.) RBSManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53225857/

相关文章:

ios - 同步排队比异步排队时代码运行得更快。不应该相反吗?

ios - 从通知重定向到另一个 Storyboard?

xcode - @IBAction 函数中 NSNotificationCenter 的问题

ios - 如何使用 xib 文件在 ScrollView 中加载特定的 ViewController?

ios - 将对象添加到枚举给我错误

ios - 如何在 iOS 中使用 UICollectionView 创建附加 View

ios - 如何在可选字符串数组中解包 NSMutableDictionary.allkeys

ios - 添加 Flurry 库后的链接器错误

ios - 音频 - 快进 30 秒

ios - Swift - 我无法解决的错误