File tree Expand file tree Collapse file tree 3 files changed +63
-1
lines changed
src/main/java/com/howtoprogram/okhttp/websocket Expand file tree Collapse file tree 3 files changed +63
-1
lines changed Original file line number Diff line number Diff line change 1818 <dependency >
1919 <groupId >com.squareup.okhttp3</groupId >
2020 <artifactId >okhttp</artifactId >
21- <version >3.4.2 </version >
21+ <version >3.5.0 </version >
2222 </dependency >
2323 <dependency >
2424 <groupId >junit</groupId >
Original file line number Diff line number Diff line change 1+ package com .howtoprogram .okhttp .websocket ;
2+
3+ import okhttp3 .Response ;
4+ import okhttp3 .WebSocket ;
5+ import okhttp3 .WebSocketListener ;
6+ import okio .ByteString ;
7+
8+ public final class EchoWebSocketListener extends WebSocketListener {
9+ private static final int NORMAL_CLOSURE_STATUS = 1000 ;
10+
11+ @ Override
12+ public void onOpen (WebSocket webSocket , Response response ) {
13+ webSocket .send ("Knock, knock!" );
14+ webSocket .send ("Hello!" );
15+ webSocket .send (ByteString .decodeHex ("deadbeef" ));
16+ webSocket .close (NORMAL_CLOSURE_STATUS , "Goodbye!" );
17+ }
18+
19+ @ Override
20+ public void onMessage (WebSocket webSocket , String text ) {
21+ System .out .println ("Receiving: " + text );
22+ }
23+
24+ @ Override
25+ public void onMessage (WebSocket webSocket , ByteString bytes ) {
26+ System .out .println ("Receiving: " + bytes .hex ());
27+ }
28+
29+ @ Override
30+ public void onClosing (WebSocket webSocket , int code , String reason ) {
31+ webSocket .close (NORMAL_CLOSURE_STATUS , null );
32+ System .out .println ("Closing: " + code + " " + reason );
33+ }
34+
35+ @ Override
36+ public void onFailure (WebSocket webSocket , Throwable t , Response response ) {
37+ t .printStackTrace ();
38+ }
39+
40+ }
Original file line number Diff line number Diff line change 1+ package com .howtoprogram .okhttp .websocket ;
2+
3+ import okhttp3 .OkHttpClient ;
4+ import okhttp3 .Request ;
5+ import okhttp3 .WebSocket ;
6+
7+ public class WebSocketClientTest {
8+
9+ public static void main (String ... args ) {
10+
11+ OkHttpClient client = new OkHttpClient ();
12+
13+ Request request = new Request .Builder ().url ("ws://echo.websocket.org" ).build ();
14+ EchoWebSocketListener listener = new EchoWebSocketListener ();
15+
16+ WebSocket ws = client .newWebSocket (request , listener );
17+
18+ // Trigger shutdown of the dispatcher's executor so this process can
19+ // exit cleanly.
20+ client .dispatcher ().executorService ().shutdown ();
21+ }
22+ }
You can’t perform that action at this time.
0 commit comments