/* * WebsocketClientTest * * $Id: WebsocketClientTest.java,v 1.2 2014/10/12 18:09:45 niklas Exp $ * * Copyright (c) 2014 Applitron Datasystem AB * Marieholmsgatan 10C, SE-415 02 Gothenburg, Sweden. * All rights reserved. */ package se.appli.test; import java.applet.Applet; import java.net.URI; import javax.websocket.ClientEndpoint; import javax.websocket.ContainerProvider; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; /** * @author Niklas Hallqvist */ @ClientEndpoint public class WebsocketClientTest extends Applet { /** * */ private static final long serialVersionUID = 1L; /** * */ private static Object signal = new Object(); /** * @see java.applet.Applet#init() */ @Override public void init() { super.init(); setup(getParameter("uri")); } /** * */ public static void main(String... arguments) { setup(arguments[0]); } /** * */ @ClientEndpoint public static class LocalEndpoint { /** */ @OnOpen public void onOpen() { println("CONNECTED"); } /** */ @OnClose public void onClose() { println("DISCONNECTED"); } /** */ @OnMessage public void onMessage(String string) { println("RESPONSE: " + string); } /** */ @OnError public void onError(Throwable throwable) { throwable.printStackTrace(); } /** * */ private static void println(String string) { System.out.println(string); } } /** * @param path */ private static void setup(String path) { try { ContainerProvider.getWebSocketContainer().connectToServer( LocalEndpoint.class, new URI(path)); synchronized (signal) { signal.wait(); } } catch (Throwable throwable) { throwable.printStackTrace(); } } }