का उपयोग कर क्लाउड 9 में बंदरगाहों की घोषणा कैसे करें मैं Cloud9 IDE (सी 9) का उपयोग करने के लिए नया हूं और अब तक कुछ मामूली चीजों को छोड़कर यह बहुत अच्छा लग रहा है।पायथन
मैं दस्तावेज़ों से देखता हूं कि एक साधारण node.js http सर्वर शुरू करने के लिए, आपको "8080" जैसे नियमित बंदरगाह के स्थान पर process.env.port में पास करना होगा।
नोड नमस्ते विश्व 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 पर, आप केवल बंदरगाहों पर सेवाओं जावास्क्रिप्ट/Node.js उपयोग शुरू कर सकते है करना चाहते हैं? या अन्य भाषाओं को भी बंदरगाह पारित करने की कुछ अन्य विधि के साथ ही काम करते हैं? विशेष रूप से अजगर + मुड़?
मैंने कुछ ट्विस्ट कोड अपलोड किया जो मेरे लिए स्थानीय रूप से काम कर रहा था, लेकिन सी 9 पर काम नहीं करेगा क्योंकि वह स्थानीय बंदरगाहों (जो पहले से उपयोग में हैं) तक पहुंचने की कोशिश कर रहा था। यहां त्रुटि
twisted.internet.error.CannotListenError: Couldn't listen on any:8080: [Errno 98] Address already in use.
कोई भी उदाहरण उदाहरण के लिए कैसे काम करेगा, यदि संभव हो तो सी 9 पर चल रहा है?
अजगर + मुड़ नमस्ते विश्व 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
अजगर कोड
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 "<html>Hello, 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 लेखन त्रुटि अजीब क्योंकि 2 तर्कों Cloud9 पर स्थानीय रूप से नहीं बल्कि काम करता है। मैं नहीं देखता कि इन तर्कों का उपयोग क्यों नहीं करता है।
मेरे पास उपरोक्त कोड this सार्वजनिक क्लाउड 9 प्रोजेक्ट पर किसी भी व्यक्ति को देखने के लिए होस्ट किया गया है। धन्यवाद!
धन्यवाद! Os.environ आज्ञाएं * * समान मान प्रदर्शित कर रही हैं जैसे node.js रिपोर्ट। हालांकि, ऐसा लगता है कि पाइथन/ट्विस्ट अभी भी बंदरगाहों के लिए बाध्यकारी नहीं हैं। मुझे लगता है कि यह या तो रिएक्टर.listenTCP (जो एक त्रुटि देता है) को दिए गए तर्कों के कारण है, या क्योंकि मंच इसे अनुमति नहीं देता है। – mrchampe
क्षमा करें, मेरे उत्तर में गलती। –
यह काम करता है, बहुत बहुत धन्यवाद! – mrchampe