0

私は現在、Node と Express で botkit-sms を使用し、Heroku にデプロイして、まだサインアップしていないユーザーに SMS メッセージを送信できるモバイル アプリケーションを作成しています。私のserver.jsファイルでは、API とメッセージング ボットのポートを開きます。これはローカルで動作しますが、Heroku にデプロイすると壊れます。エラーが発生しますError: listen EADDRINUSE :::56136。これは、両方が process.env.PORT を使用しようとしているためです。これを修正する方法はありますか?

関連コード:

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!')
  })
})
4

1 に答える 1

2

ボットの仕組みはわかりませんが、Heroku では異なるポートの使用が許可されていないため、ここで説明されているように Websockets または Socket.io を使用するようにすることが唯一の回避策だと思います。

于 2016-10-13T20:23:46.943 に答える