添加允许pc多端的配置
This commit is contained in:
@@ -237,6 +237,9 @@ local.media.storage.root media
|
|||||||
# 建议使用false
|
# 建议使用false
|
||||||
server.multi_endpoint false
|
server.multi_endpoint false
|
||||||
|
|
||||||
|
## 是否支持PC多端登陆,当server.multi_endpoint为true时,此开关无意义,当为false时,可以单独打开PC端多端登录。
|
||||||
|
server.multi_pc_endpoint false
|
||||||
|
|
||||||
# 多平台连接状态通知(仅当multi_endpoint为false时有效),true时移动端可以收到pc或web端登录的通知。
|
# 多平台连接状态通知(仅当multi_endpoint为false时有效),true时移动端可以收到pc或web端登录的通知。
|
||||||
server.multi_platform_notification true
|
server.multi_platform_notification true
|
||||||
|
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ public final class BrokerConstants {
|
|||||||
|
|
||||||
|
|
||||||
public static final String SERVER_MULTI_ENDPOINT = "server.multi_endpoint";
|
public static final String SERVER_MULTI_ENDPOINT = "server.multi_endpoint";
|
||||||
|
public static final String SERVER_MULTI_PC_ENDPOINT = "server.multi_pc_endpoint";
|
||||||
public static final String SERVER_MULTI_PLATFROM_NOTIFICATION = "server.multi_platform_notification";
|
public static final String SERVER_MULTI_PLATFROM_NOTIFICATION = "server.multi_platform_notification";
|
||||||
public static final String SERVER_MOBILE_DEFAULT_SILENT_WHEN_PC_ONLINE = "server.mobile_default_silent_when_pc_online";
|
public static final String SERVER_MOBILE_DEFAULT_SILENT_WHEN_PC_ONLINE = "server.mobile_default_silent_when_pc_online";
|
||||||
public static final String SERVER_CLIENT_SUPPORT_KICKOFF_EVENT = "server.client_support_kickoff_event";
|
public static final String SERVER_CLIENT_SUPPORT_KICKOFF_EVENT = "server.client_support_kickoff_event";
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ public class MemorySessionStore implements ISessionsStore {
|
|||||||
private static final Logger LOG = LoggerFactory.getLogger(MemorySessionStore.class);
|
private static final Logger LOG = LoggerFactory.getLogger(MemorySessionStore.class);
|
||||||
|
|
||||||
private boolean supportMultiEndpoint = false;
|
private boolean supportMultiEndpoint = false;
|
||||||
|
private boolean supportMultiPCEndpoint = false;
|
||||||
private boolean clientSupportKickoff = false;
|
private boolean clientSupportKickoff = false;
|
||||||
|
|
||||||
public static class Session implements Comparable<Session>{
|
public static class Session implements Comparable<Session>{
|
||||||
@@ -287,6 +288,11 @@ public class MemorySessionStore implements ISessionsStore {
|
|||||||
Utility.printExecption(LOG, e);
|
Utility.printExecption(LOG, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
supportMultiPCEndpoint = Boolean.parseBoolean(server.getConfig().getProperty(BrokerConstants.SERVER_MULTI_PC_ENDPOINT, "false"));
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
clientSupportKickoff = Boolean.parseBoolean(server.getConfig().getProperty(BrokerConstants.SERVER_CLIENT_SUPPORT_KICKOFF_EVENT, "false"));
|
clientSupportKickoff = Boolean.parseBoolean(server.getConfig().getProperty(BrokerConstants.SERVER_CLIENT_SUPPORT_KICKOFF_EVENT, "false"));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -385,7 +391,12 @@ public class MemorySessionStore implements ISessionsStore {
|
|||||||
}
|
}
|
||||||
databaseStore.clearMultiUser(username, clientID);
|
databaseStore.clearMultiUser(username, clientID);
|
||||||
|
|
||||||
if (!supportMultiEndpoint && platform > 0) {
|
if (!supportMultiEndpoint
|
||||||
|
&& platform > 0
|
||||||
|
&& !(platform == ProtoConstants.Platform.Platform_Windows && supportMultiPCEndpoint)
|
||||||
|
&& !(platform == ProtoConstants.Platform.Platform_LINUX && supportMultiPCEndpoint)
|
||||||
|
&& !(platform == ProtoConstants.Platform.Platform_OSX && supportMultiPCEndpoint)
|
||||||
|
) {
|
||||||
databaseStore.clearMultiEndpoint(username, clientID, platform);
|
databaseStore.clearMultiEndpoint(username, clientID, platform);
|
||||||
if (userSessions.get(username) != null) {
|
if (userSessions.get(username) != null) {
|
||||||
Iterator<String> it = userSessions.get(username).iterator();
|
Iterator<String> it = userSessions.get(username).iterator();
|
||||||
|
|||||||
@@ -232,6 +232,9 @@ local.media.storage.root ./media
|
|||||||
# 建议使用false
|
# 建议使用false
|
||||||
server.multi_endpoint false
|
server.multi_endpoint false
|
||||||
|
|
||||||
|
## 是否支持PC多端登陆,当server.multi_endpoint为true时,此开关无意义,当为false时,可以单独打开PC端多端登录。
|
||||||
|
server.multi_pc_endpoint false
|
||||||
|
|
||||||
# 多平台连接状态通知(仅当multi_endpoint为false时有效),true时移动端可以收到pc或web端登录的通知。
|
# 多平台连接状态通知(仅当multi_endpoint为false时有效),true时移动端可以收到pc或web端登录的通知。
|
||||||
server.multi_platform_notification true
|
server.multi_platform_notification true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user