मैं एक परीक्षण को एक साथ जोड़ने की कोशिश कर रहा हूं जो websockets क्लाइंट को टॉरनाडो सर्वर से कनेक्ट करने की अनुमति देता है और मैं चाहता हूं कि टोरनाडो सर्वर हर एक्स सेकंड में सभी क्लाइंट को एक संदेश भेज दे।पायथन टोरनाडो websockets कैसे हर एक्स सेकंड संदेश भेजने के लिए?
कारण मैं ऐसा कर रहा हूं क्योंकि wbesockets कनेक्शन चुपचाप कहीं गिराए जा रहे हैं और मैं websockets सर्वर द्वारा भेजे गए आवधिक "पिंग्स" के बारे में सोच रहा हूं कनेक्शन बनाए रखेगा।
मुझे डर है कि यह एक सुंदर नोबिश प्रश्न है और नीचे दिया गया कोड बल्कि एक गड़बड़ है। मेरे पास टर्ननाडो के चारों ओर लपेटा हुआ मेरा सिर नहीं है और इसे काम करने के लिए पर्याप्त गुंजाइश है।
import tornado.httpserver
import tornado.websocket
import tornado.ioloop
import tornado.web
import tornado.gen
import time
from tornado import gen
class WSHandler(tornado.websocket.WebSocketHandler):
def open(self):
print 'http://mailapp.crowdwave.com/girlthumb.jpg'
self.write_message("http://www.example.com/girlthumb.jpg")
def on_message(self, message):
print 'Incoming message:', message
self.write_message("http://www.example.com/girlthumb.jpg")
def on_close(self):
print 'Connection was closed...'
@gen.engine
def f():
yield gen.Task(tornado.ioloop.IOLoop.instance().add_timeout, time.time() + 8)
self.write_message("http://www.example.com/x.png")
print 'x'
@gen.engine
def g():
yield gen.Task(tornado.ioloop.IOLoop.instance().add_timeout, time.time() + 4)
self.write_message("http://www.example.com/y.jpg")
print 'y'
application = tornado.web.Application([
(r'/ws', WSHandler),
])
if __name__ == "__main__":
tornado.ioloop.IOLoop.instance().add_callback(f)
tornado.ioloop.IOLoop.instance().add_callback(g)
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()