【发布时间】:2017-08-18 11:02:25
【问题描述】:
我有一个 Python WebSocket 服务器。这可以在收到消息时返回响应。
import tornado.web
import tornado.websocket
import tornado.ioloop
class WebSocketHandler(tornado.websocket.WebSocketHandler):
def open(self):
print("New client connected")
self.write_message("You are connected")
def on_message(self, message):
self.write_message(u"You said: " + message)
def on_close(self):
print("Client disconnected")
def check_origin(self, origin):
return True
application = tornado.web.Application([
(r"/", WebSocketHandler),
])
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
但是,它不能在收到消息之前发送消息。如何主动发送消息?例如,它测量时间,如果它在 10 秒内没有收到消息,它会发送“你在睡觉吗?”。
我想使用 WebSocket 制作聊天机器人。我使用 tornado 和 websocket 是因为我只知道这一点,如果您知道在这方面使用的更好方法,我会很感兴趣。
【问题讨论】:
标签: python websocket tornado chatbot