Как объявить порты в Cloud9 с помощью Python

Я новичок в использованииCloud9 IDE (с9) и до сих пор выглядит великолепно, за исключением нескольких мелких вещей.

Из документации видно, что для запуска простого http-сервера node.js вы должны передать process.env.PORT вместо обычного порта, например "8080" .

Node Hello Worldпример:

 var http = require('http');
 http.createServer(function (req, res) {
     res.writeHead(200, {'Content-Type': 'text/plain'});
     res.end('Hello World\n');
 }).listen(process.env.PORT, process.env.IP);

Что я хочу знать, так это то, что на c9 вы можете запускать службы только на портах, используя javascript / node.js? Или другие языки работают так же хорошо, возможно, с каким-то другим способом прохождения порта? Конкретно питон + витая?

Я загрузил какой-то искаженный код, который работал для меня локально, но нене работает на c9, потому что он пытается получить доступ к локальным портам (которые уже используются). Вот ошибка

twisted.internet.error.CannotListenError: Couldn't listen on any:8080: [Errno 98] Address already in use.

Как можно заставить работать следующий пример, если это возможно, работать на c9?

Python + Twisted Hello Worldпример

from twisted.web import server, resource
from twisted.internet import reactor

class Simple(resource.Resource):
    isLeaf = True
    def render_GET(self, request):
        return "Hello, world!"

site = server.Site(Simple())
reactor.listenTCP(8080, site)
reactor.run()

Начальные поиски черездокументация и GitHubпроблемы не очень подняться. Я'Я надеюсь, что это возможно, и я просто пропустил правильный параметр для передачи.

Изменить: обновленный вывод ниже

Код узла

console.log(process.env.PORT)
console.log(process.env.IP)

Терминальный выход

Running Node Process
Tip: you can access long running processes, like a server, at 'http://private-cloud.mrchampe.c9.io'.
Important: in your scripts, use 'process.env.PORT' as port and 'process.env.IP' as host.
8080
127.6.70.129

Код Python

import os

print os.environ["PORT"]
print os.environ["IP"]

Терминальный выход

Running Python Process
8080
127.6.70.129

Витой код

import os
import twisted

from twisted.web import server, resource
from twisted.internet import reactor

class Simple(resource.Resource):
    isLeaf = True
    def render_GET(self, request):
        return "Hello, world!"

site = server.Site(Simple())

reactor.listenTCP(int(os.environ["PORT"]), interface=os.environ["IP"])
reactor.run()

Терминальный выход

Running Python Process
hello world
Traceback (most recent call last):
  File "python/hello.py", line 17, in 

reactor.listenTCP(int(os.environ["PORT"]), interface=os.environ["IP"])
TypeError: listenTCP() takes at least 3 non-keyword arguments (2 given)

listenTCP Ошибка TypeError странная, поскольку 2 аргумента работают локально, но не в Cloud9. Я неЯ не понимаю, почему использование этих аргументов не работает.

У меня есть вышеуказанный код наэтот публичный проект Cloud9 для любого, чтобы посмотреть. Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос