From cda13d76d42edbfd47e3f34417f3548df1a11ad1 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 12 Sep 2013 12:19:45 -0700 Subject: [PATCH] Adding example of websocket streaming read/write --- .../java/examples/StreamingEchoSocket.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 jetty-websocket/javax-websocket-server-impl/src/test/java/examples/StreamingEchoSocket.java diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/examples/StreamingEchoSocket.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/examples/StreamingEchoSocket.java new file mode 100644 index 00000000000..df8db6bfbc9 --- /dev/null +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/examples/StreamingEchoSocket.java @@ -0,0 +1,46 @@ +// +// ======================================================================== +// Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package examples; + +import java.io.IOException; +import java.io.Reader; +import java.io.Writer; + +import javax.websocket.OnMessage; +import javax.websocket.Session; +import javax.websocket.server.ServerEndpoint; + +import org.eclipse.jetty.toolchain.test.IO; + +@ServerEndpoint("/echo") +public class StreamingEchoSocket +{ + @OnMessage + public void onMessage(Session session, Reader reader) + { + try (Writer writer = session.getBasicRemote().getSendWriter()) + { + IO.copy(reader,writer); + } + catch (IOException e) + { + e.printStackTrace(); + } + } +}