【问题标题】:Why is it a good idea, that the WebSocket Implementation got divided into subinterfaces?为什么将 WebSocket 实现划分为子接口是个好主意?
【发布时间】:2012-03-13 16:17:41
【问题描述】:

在新的 Jetty 版本中,WebSocket 实现分为几个子接口:

http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/websocket/WebSocket.html

为什么这样做是个好主意?
这种分离有哪些好的用例?

【问题讨论】:

    标签: jetty websocket


    【解决方案1】:

    好的,现在我阅读了有关此问题的更多信息并实施了一些内容,我将尝试自己回答。

    标准的 WebSocket 接口只有方法

    onOpen(Connection con)
    

    onClose(int closeCode, String message)
    

    通过打开 WebSocket 时获得的连接,您可以向浏览器发送消息(二进制或文本)。

    所以标准的WebSocket接口基本上只是用于打开连接和向浏览器发送消息

    您不必在那里处理其他功能,例如当消息从浏览器到达时。

    如果您想要附加功能,还有其他 WebSocket 的子接口:Websocket.OnFrame、OnBinaryMessage、OnTextMessage、OnControl

    所以现在如果你想让你的 WebSocket 处理文本消息和二进制消息,你必须像这样实现它:

    class MyWebSocket implements  WebSocket.OnTextMessage, WebSocket.OnBinaryMessage{
        // Implementation
    }
    

    您始终只需要实现您的任务所需的接口,而不是所有与您无关的其他功能。这简化了代码并减少了代码长度。

    【讨论】:

    • 投票赞成,因为它是一个合理的解释,并且比原来的问题更清楚,我不清楚这些是你在谈论的接口,我以为你在问 websocket 客户端与服务器接口。我会提醒您,现在 hybi 邮件列表上正在讨论一些复杂的扩展,这些扩展应该会在接下来的几个月内开始蔓延到码头。多路复用器支持就是一个很好的例子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多