【问题标题】:How can I configure subprotocol for Netty io?如何为 Netty io 配置子协议?
【发布时间】:2016-03-09 08:56:27
【问题描述】:

我正在使用带有 Play 框架的 websockets。 当我尝试为 HTTP 标头 Sec-WebSocket-Protocol 设置值时,例如“ocpp1.6”然后我得到以下异常:

[error] p.nettyException - Exception caught in Netty
org.jboss.netty.handler.codec.http.websocketx.WebSocketHandshakeException: Requested subprotocol(s) not supported: ocpp1.6

我可以看到错误是因为org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshakerFactory中构造函数的“subprotocols”参数为null。

因此,我该如何更改此值?这是导致错误的唯一原因吗?

谢谢, -路易丝

【问题讨论】:

  • 你是如何创建你的管道的?
  • 我正在使用 Play 框架,因此我获得了开箱即用的通信。我刚刚发现将 subprotocol 参数设置为 null 的是 play.core.server.websocket.WebSocketHandshake 类。如何覆盖/解决此 Play 行为?

标签: networking playframework websocket netty


【解决方案1】:

Play框架不支持子协议似乎是一个已知bug,应该在2.2.1版本中修复:

https://github.com/playframework/playframework/pull/1722

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    相关资源
    最近更新 更多