package WebSocketTest; 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; import javax.websocket.Session; import javax.websocket.WebSocketContainer; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.WebSocket; import okhttp3.WebSocketListener; import okio.ByteString; public class SampleClient { public static void main(String[] args) { WebSocket ws; final Request request = new Request.Builder() // .url("http://localhost:8080/WebSocketSampleServer") // .url("http://localhost:8080/websocket") .url("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/websocket") .build(); final OkHttpClient client = new OkHttpClient.Builder() .build(); final WebSocketListener listener = new WebSocketListener() { @Override // 接続 public void onOpen(WebSocket webSocket, Response response) { } @Override //Serverからのメッセージの受信 public void onMessage(WebSocket webSocket, final String text) { } @Override public void onMessage(WebSocket webSocket, ByteString bytes) { System.out.println("MESSAGE: " + bytes.hex()); } @Override public void onClosing(WebSocket webSocket, int code, String reason) { webSocket.close(1000, null); System.out.println("CLOSE: " + code + " " + reason); } @Override //Serverの切断 public void onClosed(WebSocket webSocket, int code, String reason) { } public void onFailure(WebSocket webSocket, Throwable t, Response response) { t.printStackTrace(); } }; ws = client.newWebSocket(request, listener); ws.send("Hello"); client.dispatcher().executorService().shutdown(); } } //@ClientEndpoint //public class SampleClient { // // public SampleClient() { // super(); // } // // @OnOpen // public void onOpen(Session session) { // /* セッション確立時の処理 */ // System.out.println("WebSocketセッション確立"); // } // // @OnMessage // public void onMessage(String message) { // /* メッセージ受信時の処理 */ // System.out.println("WebSocket受信:"); // } // // @OnError // public void onError(Throwable th) { // /* エラー発生時の処理 */ // System.out.println("WebSocketエラー:" + th.getMessage()); // } // // @OnClose // public void onClose(Session session) { // /* セッション解放時の処理 */ // System.out.println("WebSocketセッション確立"); // } // // // public static void main(String[] args) throws Exception { // // 初期化のためWebSocketコンテナのオブジェクトを取得する // WebSocketContainer container = ContainerProvider.getWebSocketContainer(); // // サーバー・エンドポイントのURI // URI uri = URI.create("ws://localhost:8080/websocket"); // // サーバー・エンドポイントとのセッションを確立する // Session session = container.connectToServer(new SampleClient(),uri); // // メッセージをサーバへ送る // session.getBasicRemote().sendText("Hello World!!"); // } //}