如何在Pythone3.6中解决引发NotImplementedError

时间:2017-04-04 06:21:00

标签: python python-2.7 python-3.x websocket tornado

我有一个名为app.py的文件。有一个名为 EchoWebSocket 的类。在 EchoWebSocket 下,我编写了一个名为 on_message 的函数。我从javascript前端获取了类似JSON的数据,message = {type:'login',name:'xyz'}。我宣布了一个名为 data 的全局变量。现在我想解析消息并通过异常处理块将其存储在名为 data 的全局变量中。但我收到一个名为** raise NotImplementedError **的错误。下面是我的python代码,我是这些技术的新手,请帮我解决这些问题。

/app.py

class EchoWebSocket(WebSocketHandler):

  clients = []

def open(self):
    logging.info('WebSocket opened from %s', self.request.remote_ip)
    EchoWebSocket.clients.append(self)

def on_message(self, message):
    #logging.info('got message from %s: %s', self.request.remote_ip, message)
    logging.info('message %s:', message)
    global data
    try:
      data = JSON.parse(message)
    except MyError as e:
      logging.info("Invalid JSON")
      data = {}  

/错误

[I 170404 11:35:30 web:1971] 304 GET / (127.0.0.1) 1.58ms
[I 170404 11:35:30 web:1971] 304 GET /static/js/client.js (127.0.0.1) 3.28ms
[E 170404 11:35:34 websocket:415] Uncaught exception in /ws
    Traceback (most recent call last):
      File "/usr/local/python3.6/lib/python3.6/site-packages/tornado/websocket.py", line 412, in _run_callback
        callback(*args, **kwargs)
      File "/usr/local/python3.6/lib/python3.6/site-packages/tornado/websocket.py", line 255, in on_message
        raise NotImplementedError
    NotImplementedError

1 个答案:

答案 0 :(得分:0)

可能是你的子类

中的桅杆实现on_close方法
def on_close(self):
    print("WebSocket closed")