Skip to content

Commit e6eba27

Browse files
Merge pull request #15 from jacek-marchwicki/okhttp
Okhttp
2 parents 473a674 + c4c58d5 commit e6eba27

54 files changed

Lines changed: 219 additions & 4214 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 23 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,27 @@
11
# JavaWebsocketClient also for Android
2-
JavaWebsocketClient is library is simple library for Websocket connection for java and Android.
2+
JavaWebsocketClient is library is simple library for Websocket connection in rx for java and Android.
33
It is designed to be fast and fault tolerant.
44

5+
Currently we use okhttp for websocket connection because okhttp is simple and well tested solution.
6+
57
[![Build Status](https://travis-ci.org/jacek-marchwicki/JavaWebsocketClient.svg?branch=master)](https://travis-ci.org/jacek-marchwicki/JavaWebsocketClient)
68

79
## Content of the package
810

911
* Example websockets server [python twisted server](websockets-server/README.md)
10-
* Imperative websocket client library `websockets/`
11-
* Imperative websocket android example `websockets-example/`
1212
* Rx-java websocket client library `websockets-rxjava/`
1313
* Rx-java websocket android example `websockets-rxjava-example/`
1414

15-
## Imperative example
16-
17-
Connect to server and send message on connected:
18-
19-
```java
20-
final NewWebSocket newWebSocket = new NewWebSocket(new SecureRandomProviderImpl(), new SocketProviderImpl());
21-
final WebSocketConnection connection = newWebSocket.create(SERVER_URI, new WebSocketListener() {
22-
@Override
23-
public void onConnected() throws IOException, InterruptedException, NotConnectedException {
24-
connection.sendStringMessage("register");
25-
}
26-
});
27-
connection.connect();
28-
```
29-
30-
For more examples look:
31-
* [Android example](websockets-example/src/main/java/com/appunite/socket/MainActivity.java)
32-
* [Sample test](websockets/src/test/java/com/appunite/websocket/WebsocketTest.java)
33-
34-
3515
## Reactive example
3616

3717
How to connect to server:
3818

3919
```java
40-
final Subscription subscribe = new RxWebSockets(new NewWebSocket(), SERVER_URI)
20+
final Request request = new Request.Builder()
21+
.get()
22+
.url("ws://10.10.0.2:8080/ws")
23+
.build();
24+
final Subscription subscribe = new RxWebSockets(new OkHttpClient(), request)
4125
.webSocketObservable()
4226
.subscribe(new Action1<RxEvent>() {
4327
@Override
@@ -52,7 +36,7 @@ subscribe.unsubscribe();
5236
Send message on connected:
5337

5438
```java
55-
final Subscription subscribe = new RxWebSockets(newWebSocket, SERVER_URI)
39+
final Subscription subscription = new RxWebSockets(newWebSocket, request)
5640
.webSocketObservable()
5741
.subscribe(new Action1<RxEvent>() {
5842
@Override
@@ -65,12 +49,12 @@ final Subscription subscribe = new RxWebSockets(newWebSocket, SERVER_URI)
6549
}
6650
});
6751
Thread.sleep(1000);
68-
subscribe.unsubscribe();
52+
subscription.unsubscribe();
6953
```
7054

7155
For examples look:
7256
* Android example: [Activity](websockets-rxjava-example/src/main/java/com/appunite/socket/MainActivity.java) [Presenter](websockets-rxjava-example/src/main/java/com/appunite/socket/MainPresenter.java)
73-
* Example Real tests: [RxJsonWebSocketsRealTest](websockets-rxjava-example/src/test/java/com/example/RxJsonWebSocketsRealTest.java), [RxWebSocketsRealTest](websockets-rxjava-example/src/test/java/com/example/RxWebSocketsRealTest.java), [SocketRealTest](websockets-rxjava-example/src/test/java/com/example/SocketRealTest.java)
57+
* Example Real tests: [RxJsonWebSocketsRealTest](websockets-rxjava-example/src/test/java/com/example/RxObjectWebSocketsRealTest.java), [RxWebSocketsRealTest](websockets-rxjava-example/src/test/java/com/example/RxWebSocketsRealTest.java), [SocketRealTest](websockets-rxjava-example/src/test/java/com/example/SocketRealTest.java)
7458
* [Unit test](websockets-rxjava-example/src/test/java/com/example/SocketTest.java)
7559

7660
## Rx-java with json parser
@@ -81,8 +65,14 @@ class YourMessage {
8165
public String error;
8266
}
8367

84-
final RxObjectWebSockets webSockets = new RxObjectWebSockets(new RxWebSockets(new NewWebSocket(), SERVER_URI), new GsonSerializer(new Gson(), Message.class));
85-
webSockets.webSocketObservable()
68+
final Request request = new Request.Builder()
69+
.get()
70+
.url("ws://10.10.0.2:8080/ws")
71+
.build();
72+
final RxWebSockets rxWebSockets = new RxWebSockets(new OkHttpClient(), request)
73+
final ObjectSerializer serializer = new GsonObjectSerializer(new Gson(), Message.class)
74+
final RxObjectWebSockets webSockets = new RxObjectWebSockets(rxWebSockets), serializer);
75+
final Subscription subscription = webSockets.webSocketObservable()
8676
.compose(MoreObservables.filterAndMap(RxObjectEventMessage.class))
8777
.compose(RxObjectEventMessage.filterAndMap(YourMessage.class))
8878
.subscribe(new Action1<YourMessage>() {
@@ -91,33 +81,25 @@ webSockets.webSocketObservable()
9181
System.out.println("your message: " + yourMessage.response);
9282
}
9383
});
84+
Thread.sleep(1000);
85+
subscription.unsubscribe();
9486
```
9587

96-
## Run examples from gradle
88+
## Run example from gradle
9789

9890
To run example first run [websocket server](websockets-server/README.md), than update url to your host in:
9991
* [Rx-java Activity](websockets-rxjava-example/src/main/java/com/appunite/socket/MainActivity.java)
100-
* [Imperative Activity](websockets-example/src/main/java/com/appunite/socket/MainActivity.java)
101-
102-
Reactive (rx-java) example:
10392

10493
```bash
10594
./gradlew :websockets-rxjava-example:installDebug
10695
```
10796

108-
Imperative example:
109-
110-
```bash
111-
./gradlew :websockets-example:installDebug
112-
```
113-
11497
## How to add to your project
11598

11699
to your gradle file:
117100

118101
```groovy
119-
compile "com.appunite:websockets-java:2.1.0"
120-
compile "com.appunite:websockets-rxjava:2.2.0"
102+
compile "com.appunite:websockets-rxjava:3.0.0"
121103
```
122104
123105
## License

settings.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
include ":websockets-example"
2-
include ":websockets"
31
include ":websockets-rxjava"
42
include ":websockets-rxjava-example"

websockets-example/build.gradle

Lines changed: 0 additions & 35 deletions
This file was deleted.

websockets-example/src/main/AndroidManifest.xml

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)