Я совершенно новичок в Cloud9 IDE, поэтому мой вопрос может быть глупым, но я не могу найти ответ в документах. Я хочу сделать клиент-серверное приложение с Node.js + MongoDB в качестве сокет-сервера и клиент-десктопное приложение, которое я отлаживаю и запускаю на своем компьютере (Cloud9 IDE не поддерживает язык, на котором я его пишу). Глядя на Cloud9 IDE, я нашел его очень удобным для разработки серверной части моего приложения и может быть решением для хостинга. Но я не могу найти, как сделать подключение к сокету от клиента. Для этого мне нужно знать IP-адрес или доменный адрес моего сервера (я полагаю, он выглядит как "https://socialcrm-c9-painkkkiller.c9.io") и номер порта. В документах я нашел «используйте process.env.PORT в качестве порта и process.env.IP в качестве хоста в ваших сценариях!» но для подключения к серверу мне нужны реальные значения! Команды console.log(process.env.PORT) и console.log(process.env.IP) дают мне только "8080" и 0.0.0.0 Использование "https://socialcrm-c9-painkkkiller.c9.io" в качестве домена и 8080 в качестве порта выдает ошибку сокета. Так можно ли вообще? И если можно как это сделать?
Сокет-сервер с Node.js и Cloud9 IDE
Ответы (2)
Cloud9 перенаправляет порт 80 https://socialcrm-c9-painkkkiller.c9.io на порт 8080. в вашем контейнере. Так что нет необходимости указывать порт.
Мы также поддерживаем веб-сокеты, и они работают точно так же. Нет необходимости указывать другой порт.
Единственное, что вам нужно сделать, это убедиться, что вы используете переменные среды для подключения к правильным $IP и $PORT при запуске внутреннего процесса.
Старый вопрос - но я борюсь с похожей проблемой. У меня нет репутации, чтобы добавить комментарий, но это должно ответить на ваш вопрос о получении IP-адреса в вашем приложении Cloud9.
Вы можете сослаться на process.env.IP
, чтобы получить IP... и между прочим, вы можете сослаться на process.env.PORT
, чтобы получить порт.
Взято с: https://community.c9.io/t/writing-a-node-js-app/1731