【发布时间】:2018-01-03 15:02:28
【问题描述】:
我需要将数据从我的 google 帮助应用程序发送到数据库。为了做到这一点,我创建了一个服务器,它接收数据、打包数据,然后将其发送出去。我有主机名和端口,它可以在普通的 javascript/node.js 程序中运行,但是当我在我的谷歌助手应用程序中使用它时,什么也没有发生。我试图找出问题所在,看起来代码只是没有连接。我用来向服务器发送数据的代码如下:
function sendData(app){
var net = require('net');
var message = {"test": 200};
var thisMessage = JSON.stringify(message);
var client = new net.Socket();
client.connect(<port>, '<hostname>', function() {
app.tell(JSON.stringify(client.address()));
console.log('Connected');
client.write(thisMessage);
});
client.on('data', function(data) {
console.log('Received: ' + data);
client.destroy();
});
client.on('close', function() {
console.log('Connection closed');
});
return 0;
}
(注意:出于隐私目的,省略了端口和主机名)
这完全跳过了 app.tell,让我相信永远不会建立连接。我知道它与服务器异步工作,但是,我不明白为什么它没有任何连接。 我已经在模拟和我的智能手机上尝试过,打开和关闭沙箱。有没有更好的连接方式?请注意,我要连接的服务器是基于 python 的。
【问题讨论】:
-
你在哪里运行 javascript/node.js 代码? Google Cloud Functions 还是 Google Cloud Functions for Firebase?
-
我正在使用来自 google 操作的 Actions SDK,它需要 action.json 包。这只需要代码的函数 URL,它是通过使用 firebase 的“functions.https.onRequest”创建的。但是,除此之外,我很确定不能使用用于 firebase 的谷歌云功能(尽管我很高兴弄错了)
标签: javascript python node.js tcp actions-on-google