我正在尝试通过网络套接字将我的ALEXA技能套件通过lambda函数连接到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 } }
答案 0 :(得分:1)
WebSocket网址' 192.168.0.20'是一个本地地址。如果您使用的是AWS Lambda,那么您的lambda函数无法连接到' 192.168.0.20'。因为他们不在同一个网络上
如果您的Alexa套件和WebSocket在同一网络上,由于VM,它们不会在完全相同的网络上。 VM创建自己的网络
答案 1 :(得分:0)
@hasbi对你收到此错误的原因有正确的答案。
作为解决方法,请考虑使用隧道服务,例如ngrok(免费)。