Java Jetty-WebSocket.sendMessage(字符串数据)和void sendMessage(字节帧,字符串数据)之间有什么区别?

Java Jetty-WebSocket.sendMessage(字符串数据)和void sendMessage(字节帧,字符串数据)之间有什么区别?,java,jetty,websocket,Java,Jetty,Websocket,我正在玩WebSocket和Jetty 7.1.6.v20100715 我有几个问题,主要是因为缺乏关于这些方法的信息/解释 1)sendMessage中的字节是什么(字节帧、字符串数据) 2)如果从WebSocket.onConnect()方法调用outbound.sendMessage(字符串),是否有任何原因导致outbound.sendMessage(字符串)无法工作 另外,对于Jetty的实现,以及如何使用它,有什么好的解释吗 感谢“大部分缺席”的码头文档。。。我认为尽早使用WebS

我正在玩WebSocket和Jetty 7.1.6.v20100715

我有几个问题,主要是因为缺乏关于这些方法的信息/解释

1)sendMessage中的字节是什么(字节帧、字符串数据)

2)如果从WebSocket.onConnect()方法调用outbound.sendMessage(字符串),是否有任何原因导致outbound.sendMessage(字符串)无法工作

另外,对于Jetty的实现,以及如何使用它,有什么好的解释吗

感谢“大部分缺席”的码头文档。。。我认为尽早使用WebSocket的最好方法是阅读,并注意此时只能通过WebSocket连接发送Unicode字符串

回答您的问题:

  • 该字节是您将要发送的“帧类型”。目前,只定义了Unicode字符串的帧类型,因此您可以只使用
    sendMessage(String)
    方法。在我的观点中,
    send*
    方法除了上面提到的方法之外,不应该公开以避免混淆,但是Jetty API中的很多方法都是这样的,它们似乎并不在意。它似乎已经为发送二进制数据做好了准备,但是AFAIK没有支持Unicode消息以外的任何东西的浏览器,所以在实践中它是无用的

  • 据我所知,这样做应该是可以的,但由于码头方面缺乏文档,因此这是一项风险很大的业务。这就是为什么我选择将第一条消息从客户端发送到服务器,以运行协议,这很好


  • (请注意,我的WebSockt知识已经6个月了,而且这门学科的发展非常快)

    感谢您的回复。关于2),是的,我必须做同样的事情才能让它工作:等待客户端向服务器发送第一条消息。