Could websocket support gzip compression?

前端 未结 3 987
野性不改
野性不改 2020-12-10 10:40

After the success handshake of WebSocket, could we used gzip compression?

Here are my tests:

  1. I use autobahn lib to build a server, then respon to cli
3条回答
  •  天命终不由人
    2020-12-10 11:24

    Yes it could. Chrome 19+ supports it.

    "https://github.com/crossbario/autobahn-python/blob/master/examples/twisted/websocket/echo_compressed/server_advanced.py"
    
    from twisted.internet import reactor
    from twisted.web.server import Site
    from twisted.web.static import File
    
    from autobahn.twisted.websocket import WebSocketServerFactory, \
        listenWS
    
    from autobahn.websocket.compress import *
    
    def accept(offers):
        for offer in offers:
            return PerMessageDeflateOfferAccept(offer)
    
    debug = True
    factory = WebSocketServerFactory(u"ws://127.0.0.1:9000", debug=debug, debugCodePaths=debug)
    factory.setProtocolOptions(perMessageCompressionAccept=accept)
    
    listenWS(factory)
    
    webdir = File(".")
    web = Site(webdir)
    reactor.listenTCP(8080, web)
    
    reactor.run()
    

    More info: how PerMessageDeflateOffer is used in Autobahn examples.

提交回复
热议问题