ノードアプリケーションをherokuで動作させようとしていますが、よくある問題だと思いますが、解決できません。
私のプロジェクトは、以下で構成される 3 部構成のシステムです。
- Express と socket.io を実行するサーバー ファイル
- エクスプレス ノード サーバーのパブリック フォルダー内の「Web アプリ」
- 私のコンプで実行され、arduinoボードにリンクされたスタンドアロンノードアプリ
私のコンピューターでは、全員が同じ IP/ポートからノード サーバーをリッスンするため、すべて正常に動作します。しかし、ポートが動的であるため、herkuでは、他の2つのコンポーネントに接続先を知らせることができません。
私はこのように私のポートを定義します:
var port = process.env.PORT || 5000;
console.log ステートメントを使用して、サーバーのポートをログに記録します。
ログを数回チェックした後、heroku doc を調べたところ、heroku に静的ポートを設定できないことに気付きました。
そのため、他の2つのコンポーネントをherokuポートに取得するにはどうすればよいか、ちょっと迷っています。
補足:これが機能しない場合に実装しようとする解決策です
- Webサーバーとioサーバーを分離して、IOサーバー自体をリッスンできるようにします。このソリューションは機能していますが、そのためにherokuインスタンスを1つだけ実行することをお勧めします
- Expressサーバーイベントをリッスンするioサーバーを作成すると、動作するはずです...しかし、これは私のコンピューターの一部の問題を解決していません。
- 大きな橋を飛び越えても問題は解決しませんが、問題の重要性が低くなります。
私の実存的な問題を読んでくれてありがとう、そして助けてくれてありがとう