Merge branch 'master' into fix/compatible-v2
This commit is contained in:
@@ -21,7 +21,7 @@ Add the following dependency to your `pom.xml`.
|
||||
<dependency>
|
||||
<groupId>io.socket</groupId>
|
||||
<artifactId>socket.io-client</artifactId>
|
||||
<version>0.8.3</version>
|
||||
<version>0.9.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
```
|
||||
@@ -30,7 +30,7 @@ Add the following dependency to your `pom.xml`.
|
||||
Add it as a gradle dependency for Android Studio, in `build.gradle`:
|
||||
|
||||
```groovy
|
||||
compile ('io.socket:socket.io-client:0.8.3') {
|
||||
compile ('io.socket:socket.io-client:0.9.0') {
|
||||
// excluding org.json which is provided by Android
|
||||
exclude group: 'org.json', module: 'json'
|
||||
}
|
||||
@@ -131,8 +131,8 @@ OkHttpClient okHttpClient = new OkHttpClient.Builder()
|
||||
.build();
|
||||
|
||||
// default settings for all sockets
|
||||
Socket.setDefaultOkHttpWebSocketFactory(okHttpClient);
|
||||
Socket.setDefaultOkHttpCallFactory(okHttpClient);
|
||||
IO.setDefaultOkHttpWebSocketFactory(okHttpClient);
|
||||
IO.setDefaultOkHttpCallFactory(okHttpClient);
|
||||
|
||||
// set as an option
|
||||
opts = new IO.Options();
|
||||
|
||||
@@ -6,6 +6,7 @@ import okhttp3.Call;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.WebSocket;
|
||||
|
||||
import java.util.logging.Level;
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.SSLContext;
|
||||
import java.net.URI;
|
||||
@@ -75,11 +76,15 @@ public class IO {
|
||||
Manager io;
|
||||
|
||||
if (newConnection) {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("ignoring socket cache for %s", source));
|
||||
}
|
||||
io = new Manager(source, opts);
|
||||
} else {
|
||||
if (!managers.containsKey(id)) {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("new io instance for %s", source));
|
||||
}
|
||||
managers.putIfAbsent(id, new Manager(source, opts));
|
||||
}
|
||||
io = managers.get(id);
|
||||
|
||||
@@ -259,10 +259,14 @@ public class Manager extends Emitter {
|
||||
EventThread.exec(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("readyState %s", Manager.this.readyState));
|
||||
}
|
||||
if (Manager.this.readyState == ReadyState.OPEN || Manager.this.readyState == ReadyState.OPENING) return;
|
||||
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("opening %s", Manager.this.uri));
|
||||
}
|
||||
Manager.this.engine = new Engine(Manager.this.uri, Manager.this.opts);
|
||||
final io.socket.engineio.client.Socket socket = Manager.this.engine;
|
||||
final Manager self = Manager.this;
|
||||
@@ -467,7 +471,9 @@ public class Manager extends Emitter {
|
||||
}
|
||||
|
||||
/*package*/ void packet(Packet packet) {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("writing packet %s", packet));
|
||||
}
|
||||
final Manager self = this;
|
||||
|
||||
if (packet.query != null && !packet.query.isEmpty() && packet.type == Parser.CONNECT) {
|
||||
|
||||
@@ -262,7 +262,9 @@ public class Socket extends Emitter {
|
||||
}
|
||||
|
||||
private void onclose(String reason) {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("close (%s)", reason));
|
||||
}
|
||||
this.connected = false;
|
||||
this.id = null;
|
||||
this.emit(EVENT_DISCONNECT, reason);
|
||||
@@ -316,7 +318,9 @@ public class Socket extends Emitter {
|
||||
|
||||
private void onevent(Packet<JSONArray> packet) {
|
||||
List<Object> args = new ArrayList<Object>(Arrays.asList(toArray(packet.data)));
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("emitting event %s", args));
|
||||
}
|
||||
|
||||
if (packet.id >= 0) {
|
||||
logger.fine("attaching ack callback to event");
|
||||
@@ -343,7 +347,9 @@ public class Socket extends Emitter {
|
||||
public void run() {
|
||||
if (sent[0]) return;
|
||||
sent[0] = true;
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("sending ack %s", args.length != 0 ? args : null));
|
||||
}
|
||||
|
||||
JSONArray jsonArgs = new JSONArray();
|
||||
for (Object arg : args) {
|
||||
@@ -362,12 +368,16 @@ public class Socket extends Emitter {
|
||||
private void onack(Packet<JSONArray> packet) {
|
||||
Ack fn = this.acks.remove(packet.id);
|
||||
if (fn != null) {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("calling ack %s with %s", packet.id, packet.data));
|
||||
}
|
||||
fn.call(toArray(packet.data));
|
||||
} else {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("bad ack %s", packet.id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void onconnect() {
|
||||
this.connected = true;
|
||||
@@ -391,7 +401,9 @@ public class Socket extends Emitter {
|
||||
}
|
||||
|
||||
private void ondisconnect() {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("server disconnect (%s)", this.nsp));
|
||||
}
|
||||
this.destroy();
|
||||
this.onclose("io server disconnect");
|
||||
}
|
||||
@@ -418,7 +430,9 @@ public class Socket extends Emitter {
|
||||
@Override
|
||||
public void run() {
|
||||
if (Socket.this.connected) {
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("performing disconnect (%s)", Socket.this.nsp));
|
||||
}
|
||||
Socket.this.packet(new Packet(Parser.DISCONNECT));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package io.socket.parser;
|
||||
|
||||
import io.socket.client.IO;
|
||||
import io.socket.hasbinary.HasBinary;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONTokener;
|
||||
@@ -31,7 +30,9 @@ final public class IOParser implements Parser {
|
||||
obj.type = obj.type == EVENT ? BINARY_EVENT : BINARY_ACK;
|
||||
}
|
||||
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("encoding packet %s", obj));
|
||||
}
|
||||
|
||||
if (BINARY_EVENT == obj.type || BINARY_ACK == obj.type) {
|
||||
encodeAsBinary(obj, callback);
|
||||
@@ -62,7 +63,9 @@ final public class IOParser implements Parser {
|
||||
str.append(obj.data);
|
||||
}
|
||||
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("encoded %s as %s", obj, str));
|
||||
}
|
||||
return str.toString();
|
||||
}
|
||||
|
||||
@@ -182,7 +185,9 @@ final public class IOParser implements Parser {
|
||||
}
|
||||
}
|
||||
|
||||
if (logger.isLoggable(Level.FINE)) {
|
||||
logger.fine(String.format("decoded %s as %s", str, p));
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,16 +1,5 @@
|
||||
package io.socket.parser;
|
||||
|
||||
import io.socket.emitter.Emitter;
|
||||
import io.socket.hasbinary.HasBinary;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONTokener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public interface Parser {
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user