javascript - websocket 上出现以下错误意味着什么以及如何修复它

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

我正在尝试通过 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/

相关文章:

javascript - 从外部 Controller 按钮提交表单以进行验证

amazon-web-services - 如何使用 STSAssumeRoleSessionCredentialsProvider 和 roleSessionName 和 roleArn 为 AWS SDK for Java 2.x 进行配置?

java - 通过代码计算 jBoss AS7 session 数

java - 尝试连接到 Web 套接字服务器时不断收到 No X509TrustManager implementation available 错误

javascript - 无法在适当的时间调用域上的处置

javascript - 在闭包中使用 _gaq asynch

javascript - 意外响应代码 : 426 with PhanthomJS Websocket client/ROSLIB

nginx - 如何在 IBM Bluemix 上的 Kubernetes 中向入口资源添加 websocket 支持?

javascript - 使用 React 播放音频

amazon-web-services - AWS Glue to Redshift : Is it possible to replace, 更新还是删除数据?