我有以下基本的龙卷风应用程序:
import tornado.web
class IndexHandler(tornado.web.RequestHandler):
"""Regular HTTP handler to serve the ping page"""
def get(self):
self.write("OK")
if __name__ == "__main__":
app = tornado.web.Application([
(r"/", IndexHandler),
])
app.listen(8000)
print 'Listening on 0.0.0.0:8000'
tornado.ioloop.IOLoop.instance().start()
这将在"http://localhost:8000"
上运行。我将如何运行它并在ws://localhost:8000
接受连接?
答案 0 :(得分:1)
by
用于接受HTTP请求。对于网络套接字,您需要使用tornado.websocket.WebSocketHandler
。
要注意的另一件事是,您不能直接从浏览器访问websocket网址。也就是说,您不能在地址栏中键入DT[,period:= paste(sapply(strsplit(DATE,";"),
function(x) sort(unique(substr(x,1,4)),)),collapse = ","), by = 1:nrow(DT)]
DT
# NAME DATE period
#1: JOE 2015-01-02;2015-01-07;2021-05-02;2019-02-05 2015,2019,2021
#2: MARY 2017-08-02;2000-01-22;2003-03-07;2017-10-09 2000,2003,2017
#3: PAUL 2013-08-02;2022-06-02;2012-03-15 2012,2013,2022
并期望连接到Websocket。这不是websockets的工作方式。
Websocket连接是升级连接。这意味着,您首先必须通过HTTP访问一个网址,然后使用Javascript升级到websocket。
在Mozilla Web Docs上查看有关如何使用Javascript连接到websocket的示例。