You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/10/09 10:08:47 UTC
svn commit: r1530519 -
/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java
Author: markt
Date: Wed Oct 9 08:08:47 2013
New Revision: 1530519
URL: http://svn.apache.org/r1530519
Log:
Changes to the programmatic echo endpoint so it can be used with the Authobahn test suite:
- handle binary messages
- handle partial messages (enables larger messages)
Modified:
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java
Modified: tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java?rev=1530519&r1=1530518&r2=1530519&view=diff
==============================================================================
--- tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java (original)
+++ tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java Wed Oct 9 08:08:47 2013
@@ -17,6 +17,7 @@
package websocket.echo;
import java.io.IOException;
+import java.nio.ByteBuffer;
import javax.websocket.Endpoint;
import javax.websocket.EndpointConfig;
@@ -29,23 +30,46 @@ public class EchoEndpoint extends Endpoi
@Override
public void onOpen(Session session, EndpointConfig endpointConfig) {
RemoteEndpoint.Basic remoteEndpointBasic = session.getBasicRemote();
- session.addMessageHandler(new EchoMessageHandler(remoteEndpointBasic));
+ session.addMessageHandler(new EchoMessageHandlerText(remoteEndpointBasic));
+ session.addMessageHandler(new EchoMessageHandlerBinary(remoteEndpointBasic));
}
- private static class EchoMessageHandler
- implements MessageHandler.Whole<String> {
+ private static class EchoMessageHandlerText
+ implements MessageHandler.Partial<String> {
private final RemoteEndpoint.Basic remoteEndpointBasic;
- private EchoMessageHandler(RemoteEndpoint.Basic remoteEndpointBasic) {
+ private EchoMessageHandlerText(RemoteEndpoint.Basic remoteEndpointBasic) {
this.remoteEndpointBasic = remoteEndpointBasic;
}
@Override
- public void onMessage(String message) {
+ public void onMessage(String message, boolean last) {
try {
if (remoteEndpointBasic != null) {
- remoteEndpointBasic.sendText(message);
+ remoteEndpointBasic.sendText(message, last);
+ }
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }
+
+ private static class EchoMessageHandlerBinary
+ implements MessageHandler.Partial<ByteBuffer> {
+
+ private final RemoteEndpoint.Basic remoteEndpointBasic;
+
+ private EchoMessageHandlerBinary(RemoteEndpoint.Basic remoteEndpointBasic) {
+ this.remoteEndpointBasic = remoteEndpointBasic;
+ }
+
+ @Override
+ public void onMessage(ByteBuffer message, boolean last) {
+ try {
+ if (remoteEndpointBasic != null) {
+ remoteEndpointBasic.sendBinary(message, last);
}
} catch (IOException e) {
// TODO Auto-generated catch block
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org