2010-09-17 125 views
1

我正在玩websockets和Jetty 7.1.6.v20100715。Jetty - WebSocket.sendMessage(String data)和void sendMessage(byte frame,String data)之间有什么区别?

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

1st)sendMessage(byte frame,String data)中的字节是什么。

2nd)如果从WebSocket.onConnect()方法调用outbound.sendMessage(string)不工作有任何理由吗?

另外,有没有关于Jetty实现的任何好解释,以及它应该如何使用?

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

感谢

回答

2

“较缺席”码头文档......我想使用WebSockets的最好方法,早期是阅读了specification和需要注意的是,你可以发送什么,但统一字符串通过WebSocket连接。

回答您的问题:

  1. 该字节是“帧类型”你要发送。目前,定义的Unicode字符串只有一个帧类型,因此您可以使用sendMessage(String)方法。在我看来,除了所提到的方法之外的send*方法不应公开,以避免混淆,但对于Jetty API中的很多方法来说这是真的,他们似乎并不关心。它似乎准备好发送二进制数据,但AFAIK没有支持任何Unicode浏览器的浏览器,所以实际上它是没用的。

  2. 据我所知,这样做应该没问题,但是在Jetty方面缺乏文档使得这是一件冒险的事情。这就是为什么我选择将第一条消息从客户端发送到服务器以使协议运行,这很好。

(请注意,我WebSockt知识是约6个月大,这个问题正在演变非常快)

+0

感谢您的答复。 关于2),是的,我必须做同样的工作:等待客户端发送第一条消息到服务器。 – DanC 2010-09-23 17:54:27

相关问题