【发布时间】:2020-04-20 05:40:15
【问题描述】:
我已经创建了一个应用引擎基本服务器并将其连接到 Firebase:
// server.js
// Express packages
const express = require('express');
const app = express();
const path = require(`path`);
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
// Firebase packages
var firebase = require('firebase');
var firebaseConfig = {...};
var fire = firebase.initializeApp(firebaseConfig);
var ref = firebase.database().ref('test');
ref.on('child_added', readMessage);
function readMessage(data) {
console.log('data', data)
};
// Route index
app.get('/', (req, res) => {
res.send('Hello from App Engine!');
});
// Listen to the App Engine-specified port, or 8080 otherwise
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
console.log(`Server listening on port ${PORT}...`);
});
我的想法是在 Firebase 上将子节点添加到节点 test 时触发此服务(不确定哪个路由,但我猜它是开放的?)。
为了提供一些背景信息,我基本上打算使用 webrtc 创建一个对等连接,然后在这个 nodejs 服务器上解析视频。我通过将 webrtc 信息发送到节点 test 来使用 Firebase 进行 signallin,然后一旦发生更改,服务器就可以读取并处理它。
但是我不明白如何在添加孩子时触发此服务(因此当我将一些元数据发送到 Firebase 中的节点测试时)。如何构建我的 nodejs 代码来处理这个问题?还是应该以不同的方式进行?
【问题讨论】:
-
你好。让我重新表述一下:您想在 firebase 中发生事件时触发您的应用引擎端点(附加子级)?
-
正确。基本上,我需要应用引擎,因为可能触发了多个 RTC 对等服务器连接,因此我正在考虑通过这些步骤来完成。
标签: node.js firebase google-cloud-platform webrtc