0
私は現在、ノードとExpressでbotkit-smsを使用しています。まだHerokuに配備されていて、まだサインアップされていないユーザーにSMSメッセージを送信できるモバイルアプリケーションを作成しています。私のserver.js
ファイルでは、APIとメッセージングボットのポートを開きますが、これはローカルでは動作しますが、Herokuにデプロイすると壊れます。エラーError: listen EADDRINUSE :::56136
が表示されます。どちらもprocess.env.PORTを使用しようとしているため、これがわかります。私はこれを解決する方法はありますか?Herokuアプリケーションで2つの異なるポートを開きます
関連するコード:
import express from 'express';
const app = express();
const TwilioSMSBot = require('botkit-sms')
const controller = TwilioSMSBot({
account_sid: ACCOUNT_ID,
auth_token: AUTH_TOKEN,
twilio_number: TWILIO_NUMBER
})
const port = process.env.PORT || 9090;
app.listen(port);
app.get('/', (req, res) => {
res.send('hi');
});
let bot = controller.spawn({})
controller.setupWebserver(process.env.PORT || 3001, function (err, webserver) {
controller.createWebhookEndpoints(controller.webserver, bot, function() {
console.log('TwilioSMSBot is online!')
})
})
いいえ、Herokuが提供する1つのポートにしかバインドできません。たぶん、プロキシのような巧妙なことを、エクスプレスからボットサービスへの特定の要求を行うことができます。 – danneu