1

ノードアプリケーションをherokuで動作させようとしていますが、よくある問題だと思いますが、解決できません。

私のプロジェクトは、以下で構成される 3 部構成のシステムです。

  • Express と socket.io を実行するサーバー ファイル
  • エクスプレス ノード サーバーのパブリック フォルダー内の「Web アプリ」
  • 私のコンプで実行され、arduinoボードにリンクされたスタンドアロンノードアプリ

私のコンピューターでは、全員が同じ IP/ポートからノード サーバーをリッスンするため、すべて正常に動作します。しかし、ポートが動的であるため、herkuでは、他の2つのコンポーネントに接続先を知らせることができません。

私はこのように私のポートを定義します:

var port = process.env.PORT || 5000;

console.log ステートメントを使用して、サーバーのポートをログに記録します。

ログを数回チェックした後、heroku doc を調べたところ、heroku に静的ポートを設定できないことに気付きました。

そのため、他の2つのコンポーネントをherokuポートに取得するにはどうすればよいか、ちょっと迷っています。

補足:これが機能しない場合に実装しようとする解決策です

  1. Webサーバーとioサーバーを分離して、IOサーバー自体をリッスンできるようにします。このソリューションは機能していますが、そのためにherokuインスタンスを1つだけ実行することをお勧めします
  2. Expressサーバーイベントをリッスンするioサーバーを作成すると、動作するはずです...しかし、これは私のコンピューターの一部の問題を解決していません。
  3. 大きな橋を飛び越えても問題は解決しませんが、問題の重要性が低くなります。

私の実存的な問題を読んでくれてありがとう、そして助けてくれてありがとう

4

1 に答える 1