2016-10-13 15 views
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!') 
    }) 
}) 
+0

いいえ、Herokuが提供する1つのポートにしかバインドできません。たぶん、プロキシのような巧妙なことを、エクスプレスからボットサービスへの特定の要求を行うことができます。 – danneu

答えて

1

Herokuのは「doesnのように、私はどのようにボットの作品知らないが、私は唯一の可能な回避策はhereを説明したように、WebSocketをかSocket.ioを使用することですだと思います異なるポートを使用できるようにする

関連する問題