2010-09-17 127 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

相關問題