如何使用Python在Cloud9中声明端口
我是新手使用
Cloud9 IDE(c9),到目前为止看起来很棒,除了一些小事.
我从文档中看到,要启动一个简单的node.js http服务器,你必须传入process.env.PORT来代替常规端口,例如“8080”. 节点Hello World example: var http = require('http'); http.createServer(function (req,res) { res.writeHead(200,{'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(process.env.PORT,process.env.IP); 我想知道的是,在c9上,你只能使用javascript / node.js在端口上启动服务吗?或者其他语言也可以正常工作,也许还有其他一些传递端口的方法?特别是python Twisted? 我上传了一些在本地为我工作的扭曲代码,但不能在c9上工作,因为它试图访问本地端口(已经在使用中).这是错误 twisted.internet.error.CannotListenError: Couldn't listen on any:8080: [Errno 98] Address already in use. 如果可能的话,如何在c9上运行以下示例? Python Twisted Hello World example from twisted.web import server,resource from twisted.internet import reactor class Simple(resource.Resource): isLeaf = True def render_GET(self,request): return "<html>Hello,world!</html>" site = server.Site(Simple()) reactor.listenTCP(8080,site) reactor.run() 通过documentation和github issues的初始搜索没有太多变化.我希望这是可能的,我错过了正确的参数传递. 编辑:更新下面的输出 节点代码 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,world!</html>" 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 <module> 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上不工作.我不明白为什么使用这些参数不起作用. 我在this公共Cloud9项目上托管了上述代码,供所有人查看.谢谢! 解决方法
来自Node.js
sound like os.environ [“PORT”]的process.env.PORT和process.env.IP以及Python中的os.environ [“IP”].也许你可以试试:
reactor.listenTCP(int(os.environ["PORT"]),site,interface=os.environ["IP"]) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |