Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ String engineVersion = Paths
.text.trim()

dependencies {
implementation("com.tvd12:ezyfox-server-android-client:1.0.1")
implementation("com.tvd12:ezyfox-server-android-client:1.0.2")
compileOnly("androidx.core:core:1.1.0")
compileOnly("io.flutter:flutter_embedding_debug:1.0.0-$engineVersion")
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.tvd12.ezyfoxserver.client.flutter.proxy;

import com.tvd12.ezyfoxserver.client.config.EzyPingConfig;
import com.tvd12.ezyfoxserver.client.flutter.EzyMethodNames;
import com.tvd12.ezyfoxserver.client.flutter.serializer.EzyNativeSerializers;
import com.tvd12.ezyfoxserver.client.EzyClient;
Expand Down Expand Up @@ -62,6 +63,14 @@ private EzyClientConfig newConfig(Map params) {
configBuilder.enableSSL((Boolean) params.get("enableSSL"));
if(params.containsKey("enableDebug"))
configBuilder.enableDebug((Boolean) params.get("enableDebug"));
if(params.containsKey("ping")) {
Map ping = (Map) params.get("ping");
EzyPingConfig.Builder pingConfigBuilder = configBuilder.pingConfigBuilder();
if(ping.containsKey("pingPeriod"))
pingConfigBuilder.pingPeriod((Integer) ping.get("pingPeriod"));
if(ping.containsKey("maxLostPingCount"))
pingConfigBuilder.maxLostPingCount((Integer) ping.get("maxLostPingCount"));
}
if(params.containsKey("reconnect")) {
Map reconnect = (Map) params.get("reconnect");
EzyReconnectConfig.Builder reconnectConfigBuilder = configBuilder.reconnectConfigBuilder();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.tvd12.ezyfoxserver.client.flutter.serializer;

import com.tvd12.ezyfoxserver.client.config.EzyClientConfig;
import com.tvd12.ezyfoxserver.client.config.EzyPingConfig;
import com.tvd12.ezyfoxserver.client.config.EzyReconnectConfig;

import java.util.HashMap;
Expand All @@ -16,8 +17,16 @@ public Map serialize(EzyClientConfig config) {
Map map = new HashMap<>();
map.put("clientName", config.getClientName());
map.put("zoneName", config.getZoneName());
Map reconnectMap = new HashMap<>();

EzyPingConfig pingConfig = config.getPing();
Map pingMap = new HashMap<>();
pingMap.put("maxLostPingCount", pingConfig.getMaxLostPingCount());
pingMap.put("pingPeriod", pingConfig.getPingPeriod());
map.put("ping", pingMap);


EzyReconnectConfig reconnectConfig = config.getReconnect();
Map reconnectMap = new HashMap<>();
reconnectMap.put("maxReconnectCount", reconnectConfig.getMaxReconnectCount());
reconnectMap.put("reconnectPeriod", reconnectConfig.getReconnectPeriod());
reconnectMap.put("enable", reconnectConfig.isEnable());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.tvd12.ezyfoxserver.client.flutter.serializer;

import com.tvd12.ezyfoxserver.client.constant.EzyDisconnectReasons;
import com.tvd12.ezyfoxserver.client.event.EzyConnectionFailureEvent;
import com.tvd12.ezyfoxserver.client.event.EzyDisconnectionEvent;
import com.tvd12.ezyfoxserver.client.event.EzyEvent;
Expand Down Expand Up @@ -50,7 +49,7 @@ public Map apply(EzyEvent event) {
public Map apply(EzyEvent event) {
EzyConnectionFailureEvent mevent = (EzyConnectionFailureEvent)event;
Map map = new HashMap<>();
map.put("reason", mevent.getReason().toString());
map.put("reason", mevent.getReason().getId());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sao ở dòng này là map.put("reason", mevent.getReason().getId());. Mà ở dòng 61 lại là: map.put("reason", mevent.getReason());

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vì reason ở disconnection là int, còn của connection failure là enum em ạ

return map;
}
});
Expand All @@ -59,9 +58,7 @@ public Map apply(EzyEvent event) {
public Map apply(EzyEvent event) {
EzyDisconnectionEvent mevent = (EzyDisconnectionEvent)event;
Map map = new HashMap<>();
int reason = mevent.getReason();
String reasonName = EzyDisconnectReasons.getDisconnectReasonName(reason);
map.put("reason", reasonName);
map.put("reason", mevent.getReason());
return map;
}
});
Expand Down
7 changes: 6 additions & 1 deletion example/lib/socket_proxy.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,11 @@ class SocketProxy {
EzyConfig config = EzyConfig();
config.clientName = ZONE_NAME;
config.enableSSL = true;
config.enableDebug = true;
config.ping.maxLostPingCount = 3;
config.ping.pingPeriod = 1000;
config.reconnect.maxReconnectCount = 10;
config.reconnect.reconnectPeriod = 1000;
// config.enableDebug = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lúc user muốn enable debug là phải uncomment chỗ này hả anh?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

đúng rồi em ạ

EzyClients clients = EzyClients.getInstance();
_client = clients.newDefaultClient(config);
_client.setup.addEventHandler(EzyEventType.DISCONNECTION, _DisconnectionHandler(_disconnectedCallback!));
Expand All @@ -54,6 +58,7 @@ class SocketProxy {
this.username = username;
this.password = password;
// this._client.connect("127.0.0.1", 3005);
// this._client.connect("192.168.0.101", 3005);
this._client.connect("tvd12.com", 3005);
}

Expand Down
12 changes: 12 additions & 0 deletions ios/EzyClient/proxy/EzyMethodProxy.mm
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,23 @@
EzyClientConfig* config = EzyClientConfig::create();
NSString* clientName = [params valueForKey:@"clientName"];
NSString* zoneName = [params valueForKey:@"zoneName"];
NSDictionary* ping = [params valueForKey:@"ping"];
NSDictionary* reconnect = [params valueForKey:@"reconnect"];
if(clientName)
config->setClientName([clientName UTF8String]);
if(zoneName)
config->setZoneName([zoneName UTF8String]);
if(ping) {
NSNumber* pingPeriod = [ping objectForKey:@"pingPeriod"];
NSNumber* maxLostPingCount = [ping objectForKey:@"maxLostPingCount"];
EzyPingConfig* pingConfig = config->getPing();
if(pingPeriod) {
pingConfig->setPingPeriod((int)[pingPeriod integerValue]);
}
if(maxLostPingCount) {
pingConfig->setMaxLostPingCount((int)[maxLostPingCount integerValue]);
}
}
if(reconnect) {
NSNumber* enable = [reconnect objectForKey:@"enable"];
NSNumber* reconnectPeriod = [reconnect objectForKey:@"reconnectPeriod"];
Expand Down
8 changes: 8 additions & 0 deletions ios/EzyClient/serializer/EzyClientConfigSerializer.mm
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,20 @@ - (NSDictionary *)serialize:(void *)value {
NSDictionary* dict = [NSMutableDictionary dictionary];
[dict setValue:[EzyNativeStrings newNSString:config->getClientName().c_str()] forKey:@"clientName"];
[dict setValue:[EzyNativeStrings newNSString:config->getZoneName().c_str()] forKey:@"zoneName"];

EzyPingConfig* pingConfig = config->getPing();
NSDictionary* pingDict = [NSMutableDictionary dictionary];
[pingDict setValue:[NSNumber numberWithInt:pingConfig->getPingPeriod()] forKey:@"pingPeriod"];
[pingDict setValue:[NSNumber numberWithInt:pingConfig->getMaxLostPingCount()] forKey:@"maxLostPingCount"];
[dict setValue:pingDict forKey:@"ping"];

NSDictionary* reconnectDict = [NSMutableDictionary dictionary];
EzyReconnectConfig* reconnectConfig = config->getReconnect();
[reconnectDict setValue:[NSNumber numberWithInt:reconnectConfig->getMaxReconnectCount()] forKey:@"maxReconnectCount"];
[reconnectDict setValue:[NSNumber numberWithInt:reconnectConfig->getReconnectPeriod()] forKey:@"reconnectPeriod"];
[reconnectDict setValue:[NSNumber numberWithInt:reconnectConfig->isEnable()] forKey:@"enable"];
[dict setValue:reconnectDict forKey:@"reconnect"];

return dict;
}
@end
4 changes: 2 additions & 2 deletions ios/EzyClient/serializer/EzyEventSerializer.mm
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,15 @@ -(NSDictionary*)serializeLostPingEvent: (EzyEvent*)event {
EzyLostPingEvent* mevent = (EzyLostPingEvent*)event;
NSDictionary* dict = [NSMutableDictionary dictionary];
int count = mevent->getCount();
[dict setValue:[NSNumber numberWithInt:count] forKey:@"reason"];
[dict setValue:[NSNumber numberWithInt:count] forKey:@"count"];
return dict;
}

-(NSDictionary*)serializeTryConnectEvent: (EzyEvent*)event {
EzyTryConnectEvent* mevent = (EzyTryConnectEvent*)event;
NSDictionary* dict = [NSMutableDictionary dictionary];
int count = mevent->getCount();
[dict setValue:[NSNumber numberWithInt:count] forKey:@"reason"];
[dict setValue:[NSNumber numberWithInt:count] forKey:@"count"];
return dict;
}

Expand Down
15 changes: 15 additions & 0 deletions lib/ezy_config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ class EzyConfig {
late String clientName;
late bool enableSSL = false;
late bool enableDebug = false;
late EzyPingConfig ping = EzyPingConfig();
late EzyReconnectConfig reconnect = EzyReconnectConfig();

String getClientName() {
Expand All @@ -19,11 +20,25 @@ class EzyConfig {
map["zoneName"] = zoneName;
map["enableSSL"] = enableSSL;
map["enableDebug"] = enableDebug;
map["ping"] = ping.toMap();
map["reconnect"] = reconnect.toMap();
return map;
}
}

class EzyPingConfig {

late int pingPeriod = 3000;
late int maxLostPingCount = 5;

Map toMap() {
Map map = Map();
map["pingPeriod"] = pingPeriod;
map["maxLostPingCount"] = maxLostPingCount;
return map;
}
}

class EzyReconnectConfig {
late bool enable = true;
late int maxReconnectCount = 5;
Expand Down