websocket上的以下错误是什么意思以及如何解决它

时间:2017-07-29 02:29:49

标签: javascript amazon-web-services websocket alexa-skills-kit

我正在尝试通过网络套接字将我的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 } }

2 个答案:

答案 0 :(得分:1)

  • WebSocket网址' 192.168.0.20'是一个本地地址。如果您使用的是AWS Lambda,那么您的lambda函数无法连接到' 192.168.0.20'。因为他们不在同一个网络上

  • 如果您的Alexa套件和WebSocket在同一网络上,由于VM,它们不会在完全相同的网络上。 VM创建自己的网络

答案 1 :(得分:0)

@hasbi对你收到此错误的原因有正确的答案。

作为解决方法,请考虑使用隧道服务,例如ngrok(免费)。