Python websocket客户端-将消息从Python代码发送到websocket服务器
我需要将系统日志发送到浏览器,因此我有一个基于tornado的websocket服务器,运行方式如下Python websocket客户端-将消息从Python代码发送到websocket服务器,python,websocket,tornado,Python,Websocket,Tornado,我需要将系统日志发送到浏览器,因此我有一个基于tornado的websocket服务器,运行方式如下 class WSHandler(tornado.websocket.WebSocketHandler): def check_origin(self, origin): return True def get(self, *args, **kwargs): self.ip = self.get_argument('ip', None)
class WSHandler(tornado.websocket.WebSocketHandler):
def check_origin(self, origin):
return True
def get(self, *args, **kwargs):
self.ip = self.get_argument('ip', None)
self.action = self.get_argument('action', None)
super(WSHandler, self).get(self, *args, **kwargs)
def open(self, *args, **kwargs):
clients.append(self)
def on_message(self, message):
ll = eval(message)
for cl in clients:
if cl.ip and cl.ip != ll.user:
continue
if cl.action and cl.action != ll.action:
continue
message = '%s %s' % (ll.action, ll.url)
cl.write_message(message)
def on_close(self):
try:
clients.remove(self)
except ValueError:
pass
到目前为止,我遇到的例子都是基于Tornado的服务器和基于js的客户端
然而,我需要的是一种从Python客户端连接到此websocket的简单方法,最好由Tornado提供支持。客户端不需要接收消息,只需要发送消息。我以为我在这篇帖子上找到了答案
…但我需要在日志事件发生时发送消息,最好是从解析事件的代码发送消息。到目前为止,我遇到的例子都是基于Tornado的服务器和基于js的客户端。是否有一个基于短而甜的tornado的客户端,它只发送可以从for循环调用的消息 有一个项目。注意它。此外,发送消息也很简单。Tornado包括一个websocket客户端:此外,我还开发了一个完整的Tornado websocket客户端/服务器示例
如果您想要WebSocket身份验证/授权,请查看我的其他项目。我在文档中遇到过,但不知道如何使用它。没有在野外遇到过任何例子。如何实例化客户端,然后在forloop中使用连接?这就是问题所在?嗯,我们确实需要更好的文档和示例。现在最好的例子是在测试中:tornado websocket客户端看起来很棒,只是我不知道如何使用它。如示例类所示,我尝试实例化ws=HelloSocket('ws://echo.websocket.org')ws.connect(),然后使用ws.write_message(msg),但它不会发送到服务器。不知道我做错了什么。我确实让websocket客户端工作了…所以我摆脱了困境,但我希望能有一些更轻的东西。SHAZZAM!!我可以用你的例子来说明。也许我也应该在以前的帖子上发表,但我没有。谢谢大家的帮助。