我正在尝试通过 lambda 函数将我的 ALEXA 技能套件通过网络套接字连接到 ROS(在我的 ubutnu VM 机器上运行)。问题是未建立 Web 套接字连接。我收到以下错误消息:
Error connecting to websocket server: { Error: connect ETIMEDOUT 192.168.0.20:9090
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14)
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.0.20',
port: 9090,
type: 'error',
target:
WebSocket {
domain: null,
_events:
{ open: [Object],
close: [Object],
error: [Object],
message: [Object] },
_eventsCount: 4,
_maxListeners: undefined,
_socket: null,
_ultron: null,
_closeReceived: false,
bytesReceived: 0,
readyState: 0,
supports: { binary: true },
extensions: {},
_isServer: false,
url: 'ws://192.168.0.20:9090',
protocolVersion: 13 } }
最佳答案
WebSocket URL“192.168.0.20”是本地地址。如果您使用的是 AWS Lambda,那么您的 lambda 函数无法连接到“192.168.0.20”。因为他们不在同一个网络
如果您的 Alexa 套件和 WebSocket 在同一网络上,由于 VM,它们将不会在完全相同的网络上。 VM创建自己的网络
关于javascript - websocket 上出现以下错误意味着什么以及如何修复它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45384638/