WebSockets के बारे में मेरे चल रहे जिज्ञासा में, मैं एक प्रवृत्ति देख रहा हूँ:मुड़ और WebSockets: परे इको
WebSocket ब्रह्मांड के "हैलो दुनिया", कम से कम इस समय, हो रहा है "गूंज" कार्यक्षमता । यही है, प्रदर्शित आवेदन आम तौर पर है, "मैं कुछ भेजता हूं, मुझे कुछ मिलता है।"
जबकि जिसे उपयुक्त प्रदर्शन है कि प्रोटोकॉल कार्यात्मक है, इस उदाहरण केवल वास्तव में संचार कि पारंपरिक अनुरोध/प्रतिक्रिया चक्र में सक्षम बनाता है के एक ही प्रकार को दर्शाता है।
import sys
from twisted.python import log
from twisted.internet import reactor
from twisted.web.static import File
from twisted.web.websocket import WebSocketHandler, WebSocketSite
class Echohandler(WebSocketHandler):
def frameReceived(self, frame):
log.msg("Received frame '%s'" % frame)
self.transport.write(frame + "\n")
def main():
log.startLogging(sys.stdout)
root = File(".")
site = WebSocketSite(root)
site.addHandler("/ws/echo", Echohandler)
reactor.listenTCP(8080, site)
reactor.run()
if __name__ == "__main__":
main()
मैं कैसे बजाय यहां जांच कर सकते हैं "पुश" क्षमता:
उदाहरण के लिए, केवल प्रदर्शन (सर्वर साइड पर) है कि मैं twisted.web.websockets का मिल सकता है निम्नलिखित है? यानी, मैं वेब सॉकेट को कैसे खोल सकता हूं, और उसके बाद, कुछ समय की घटना से निर्धारित कुछ समय पर, वेबसाकेट के माध्यम से एक संदेश भेजें, जिसकी सामग्री इस घटना से भी प्रभावित होती है?
(इस सवाल से दिलचस्पी उन के रूप में भी सम्मोहक इस सवाल यह है कि मैं कुछ दिन पहले पूछा संबंध हो सकता है: Making moves w/ websockets and python/django (/ twisted?))
यह देखते हुए कि WebSockets फ़ायरफ़ॉक्स 4 http://hacks.mozilla.org/2010/12/websockets-disabled-in-firefox-4/ में अक्षम हैं, और तब भी जब वे पूरा कर लें, वे में काम नहीं चाहते हो सकता है सभी ब्राउज़रों, आप शायद अपने दो-तरफा ब्राउज़र संचार के लिए उच्च स्तरीय अबास्ट्रक्शन की जांच करना चाहते हैं। Websockets एथेना http://divmod.org/trac/wiki/DivmodNevow/Athena और Orbited http://orbited.org/ जैसी चीज़ों को अनुकूलित करने का एक तरीका है। – Glyph
वर्तमान स्पेक (और समर्थन) के रूप में कमजोर है, क्या वेबसाइकिल वास्तव में धूमकेतु (एथेना, ऑर्बिटेड, आदि?) का एक पूर्ण रीमेक नहीं है। इस पल के लिए, मुझे उन समाधानों में दिलचस्पी नहीं है जो सभी ब्राउज़रों में काम करेंगे; मैं सिर्फ कुछ ऐसा बनाना चाहता हूं जो सामूहिक के अपने और अन्य सदस्यों के बीच काम करेगा - हमारे पास हमारे ब्राउज़र और फ़ायरवॉल स्थितियों पर पूरा नियंत्रण होगा। – jMyles
नहीं, जरूरी नहीं। एथेना एक पूर्ण उच्च स्तरीय संदेश प्रणाली है, यह केवल बाइट्स परिवहन नहीं करता है। और ऑर्बिटेड कई ट्रांसपोर्ट का उपयोग कर सकते हैं, जो अधिक आदिम/कम कुशल तकनीकों पर वापस आते हैं क्योंकि यह निर्धारित करता है कि बेहतर लोग उपलब्ध नहीं हैं। यह ऐसी चीज है जिसे आप अपनी स्थिति में भी चाहते हैं, क्योंकि यदि वेबसाईट की तुलना में कुछ * बेहतर * आता है, तो आप शायद अपने सभी कोड को फिर से लिखने के बिना इसका लाभ लेना चाहेंगे। – Glyph