您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用Python在Cloud9中声明端口

5b51 2022/1/14 8:22:21 python 字数 4782 阅读 523 来源 www.jb51.cc/python

我是新手使用 Cloud9 IDE(c9),到目前为止看起来很棒,除了一些小事. 我从文档中看到,要启动一个简单的node.js http服务器,你必须传入process.env.PORT来代替常规端口,例如“8080”. 节点Hello World example: var http = require('http'); http.createServer(function (req, res

概述

我从文档中看到,要启动一个简单的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 World\n');
 }).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项目上托管了上述代码,供所有人查看.谢谢!

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

总结

以上是编程之家为你收集整理的如何使用Python在Cloud9中声明端口全部内容,希望文章能够帮你解决如何使用Python在Cloud9中声明端口所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶