Pythonでsimple-websocket-serverというWebSocketのライブラリを使ってServerがデータを受信したらそれを自分が指定したQueueに格納したいのですがうまくいきません。

このライブラリではWebSocketクラスを継承してハンドラとなるクラスを作り、それをSimpleWebSocketServerのコンストラクタのcls引数として渡すようになっています。

自分が渡したQueueにデータを格納したいので下記のように関数fにqueueを渡し、その返り値の関数がMyWebSocketのインスタンスをreturnするようにしたのですが、うまくいかず、localhost:4246にアクセスしても接続が確立されません。

Windows10 1803
Python3.6.5

class MyWebSocket(WebSocket):
    def __init__(self, server, sock, address, q): # queueを受け取る(q)
        super().__init__(server, sock, address)
        self.q = q
    def handleMessage(self):
        print(self.data)
        self.q.put_nowait(self.data) #わたってきたデータをqueueに格納

    def handleClose(self):
        print("connection: closed " + self.address)
        self.sendMessage("server exit")
        sys.exit()
def f(l):
    def websocketclasscaller(server, sock, address): # SimpleSSLWebSocketServerはclsの引数が増えていることを知らないので`websocketclasscallerで隠す`
        return MyWebSocket(server, sock, address, l)
    return websocketclasscaller

def main(q):
    p = f(q)
    server = SimpleSSLWebSocketServer("localhost", 4246, p, "../certs/server.crt", "../certs/server.key")
    server.serveforever()

SimpleSSLWebSocketServerの継承元であるSimpleWebSocketServerが引数clsをインスタンス化しているところ:

   def _constructWebSocket(self, sock, address):
      return self.websocketclass(self, sock, address)

Github上のコード