37 lines
1.8 KiB
Plaintext
37 lines
1.8 KiB
Plaintext
|
|
||
|
|
||
|
This is the jetty websocket module that provides a websocket server and the skeleton of a websocket client.
|
||
|
|
||
|
By default websockets is included with a jetty release (with these classes either being in the jetty-websocket jar or in
|
||
|
an aggregate jar (see below).
|
||
|
|
||
|
|
||
|
In order to accept a websocket connection, the websocket handshake request is first routed to normal HTTP request
|
||
|
handling, which must respond with a 101 response and an instance of WebSocketConnection set as the
|
||
|
"org.eclipse.jetty.io.Connection" request attribute. The accepting behaviour is provided by WebSocketHandler or the
|
||
|
WebSocketServlet class, both of which delegate to the WebSocketFactory class.
|
||
|
|
||
|
A TestServer and TestClient class are available, and can be run either directly from an IDE (if jetty source is
|
||
|
imported), or from the command line with
|
||
|
|
||
|
java -cp jetty-aggregate/jetty-all/target/jetty-all-7.3.2-SNAPSHOT.jar:jetty-distribution/target/distribution/lib/servlet-api-2.5.jar
|
||
|
org.eclipse.jetty.websocket.TestServer --help
|
||
|
|
||
|
java -cp jetty-aggregate/jetty-all/target/jetty-all-7.3.2-SNAPSHOT.jar:jetty-distribution/target/distribution/lib/servlet-api-2.5.jar
|
||
|
org.eclipse.jetty.websocket.TestClient --help
|
||
|
|
||
|
|
||
|
Without a protocol specified, the client will just send/receive websocket PING/PONG packets. A protocol can be specified for testing other
|
||
|
aspects of websocket. Specifically the server and client understand the following protocols:
|
||
|
|
||
|
org.ietf.websocket.test-echo
|
||
|
Websocket TEXT messages are sent by the client and the server will echo every frame.
|
||
|
|
||
|
org.ietf.websocket.test-echo-assemble
|
||
|
Websocket BINARY messages are sent (see --fragment) and the server will echo assembled messages as a single frame.
|
||
|
|
||
|
org.ietf.websocket.test-echo-fragment
|
||
|
Websocket BINARY messages are sent and the server will echo each message fragmented into 2 frames.
|
||
|
|
||
|
|