[+] 事件定义
This commit is contained in:
@@ -107,6 +107,16 @@ public class ClientSessionManager {
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param sn 终端标识
|
||||
*
|
||||
* @return 终端状态
|
||||
*/
|
||||
public ClientSessionStatus status(String sn) {
|
||||
final ClientSession session = this.session(sn);
|
||||
return session == null ? null : session.status();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 所有终端会话
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.acgist.taoyao.signal.controller;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@@ -30,4 +31,10 @@ public class ClientController {
|
||||
return Message.success(this.clientSessionManager.status());
|
||||
}
|
||||
|
||||
@Operation(summary = "终端状态", description = "终端状态")
|
||||
@GetMapping("/status/{sn}")
|
||||
public Message status(@PathVariable String sn) {
|
||||
return Message.success(this.clientSessionManager.status(sn));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.signal.client.ClientSession;
|
||||
import com.acgist.taoyao.signal.event.client.CloseEvent;
|
||||
import com.acgist.taoyao.signal.listener.ApplicationListenerAdapter;
|
||||
import com.acgist.taoyao.signal.protocol.client.OfflineProtocol;
|
||||
import com.acgist.taoyao.signal.protocol.client.ClientOfflineProtocol;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -24,7 +24,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
public class CloseListener extends ApplicationListenerAdapter<CloseEvent> {
|
||||
|
||||
@Autowired
|
||||
private OfflineProtocol offlineProtocol;
|
||||
private ClientOfflineProtocol offlineProtocol;
|
||||
|
||||
@Override
|
||||
public void onApplicationEvent(CloseEvent event) {
|
||||
|
||||
@@ -10,8 +10,8 @@ import com.acgist.taoyao.signal.client.ClientSession;
|
||||
import com.acgist.taoyao.signal.client.ClientSessionStatus;
|
||||
import com.acgist.taoyao.signal.event.client.RegisterEvent;
|
||||
import com.acgist.taoyao.signal.listener.ApplicationListenerAdapter;
|
||||
import com.acgist.taoyao.signal.protocol.client.ConfigProtocol;
|
||||
import com.acgist.taoyao.signal.protocol.client.OnlineProtocol;
|
||||
import com.acgist.taoyao.signal.protocol.client.ClientConfigProtocol;
|
||||
import com.acgist.taoyao.signal.protocol.client.ClientOnlineProtocol;
|
||||
|
||||
/**
|
||||
* 注册监听
|
||||
@@ -22,9 +22,9 @@ import com.acgist.taoyao.signal.protocol.client.OnlineProtocol;
|
||||
public class RegisterListener extends ApplicationListenerAdapter<RegisterEvent> {
|
||||
|
||||
@Autowired
|
||||
private ConfigProtocol configProtocol;
|
||||
private ClientConfigProtocol configProtocol;
|
||||
@Autowired
|
||||
private OnlineProtocol onlineProtocol;
|
||||
private ClientOnlineProtocol onlineProtocol;
|
||||
|
||||
@Async
|
||||
@Override
|
||||
|
||||
@@ -16,7 +16,7 @@ import com.acgist.taoyao.boot.model.MessageCodeException;
|
||||
import com.acgist.taoyao.boot.utils.JSONUtils;
|
||||
import com.acgist.taoyao.signal.client.ClientSession;
|
||||
import com.acgist.taoyao.signal.client.ClientSessionManager;
|
||||
import com.acgist.taoyao.signal.protocol.client.RegisterProtocol;
|
||||
import com.acgist.taoyao.signal.protocol.client.ClientRegisterProtocol;
|
||||
import com.acgist.taoyao.signal.protocol.platform.ErrorProtocol;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -95,7 +95,7 @@ public class ProtocolManager {
|
||||
return;
|
||||
}
|
||||
final ClientSession session = this.clientSessionManager.session(instance);
|
||||
if(protocol instanceof RegisterProtocol) {
|
||||
if(protocol instanceof ClientRegisterProtocol) {
|
||||
protocol.execute(sn, value, session);
|
||||
} else if(session.authorized() && sn.equals(session.sn())) {
|
||||
protocol.execute(sn, value, session);
|
||||
|
||||
@@ -14,14 +14,14 @@ import com.acgist.taoyao.signal.protocol.ProtocolAdapter;
|
||||
* @author acgist
|
||||
*/
|
||||
@Component
|
||||
public class BroadcastProtocol extends ProtocolAdapter {
|
||||
public class ClientBroadcastProtocol extends ProtocolAdapter {
|
||||
|
||||
public static final Integer PID = 2009;
|
||||
public static final Integer PID = 2007;
|
||||
|
||||
@Autowired
|
||||
private ClientSessionManager clientSessionManager;
|
||||
|
||||
public BroadcastProtocol() {
|
||||
public ClientBroadcastProtocol() {
|
||||
super(PID, "广播信令");
|
||||
}
|
||||
|
||||
@@ -15,11 +15,11 @@ import lombok.extern.slf4j.Slf4j;
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class CloseProtocol extends ProtocolAdapter {
|
||||
public class ClientCloseProtocol extends ProtocolAdapter {
|
||||
|
||||
public static final Integer PID = 2001;
|
||||
|
||||
public CloseProtocol() {
|
||||
public ClientCloseProtocol() {
|
||||
super(PID, "关闭信令");
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import com.acgist.taoyao.signal.protocol.ProtocolAdapter;
|
||||
* @author acgist
|
||||
*/
|
||||
@Component
|
||||
public class ConfigProtocol extends ProtocolAdapter {
|
||||
public class ClientConfigProtocol extends ProtocolAdapter {
|
||||
|
||||
public static final Integer PID = 2004;
|
||||
|
||||
@@ -29,7 +29,7 @@ public class ConfigProtocol extends ProtocolAdapter {
|
||||
@Autowired
|
||||
private WebrtcProperties webrtcProperties;
|
||||
|
||||
public ConfigProtocol() {
|
||||
public ClientConfigProtocol() {
|
||||
super(PID, "信令协议标识");
|
||||
}
|
||||
|
||||
@@ -16,11 +16,11 @@ import com.acgist.taoyao.signal.protocol.ProtocolMapAdapter;
|
||||
* @author acgist
|
||||
*/
|
||||
@Component
|
||||
public class HeartbeatProtocol extends ProtocolMapAdapter {
|
||||
public class ClientHeartbeatProtocol extends ProtocolMapAdapter {
|
||||
|
||||
public static final Integer PID = 2005;
|
||||
|
||||
public HeartbeatProtocol() {
|
||||
public ClientHeartbeatProtocol() {
|
||||
super(PID, "心跳信令");
|
||||
}
|
||||
|
||||
@@ -14,14 +14,14 @@ import com.acgist.taoyao.signal.protocol.ProtocolAdapter;
|
||||
* @author acgist
|
||||
*/
|
||||
@Component
|
||||
public class ListProtocol extends ProtocolAdapter {
|
||||
public class ClientListProtocol extends ProtocolAdapter {
|
||||
|
||||
public static final Integer PID = 2006;
|
||||
public static final Integer PID = 2999;
|
||||
|
||||
@Autowired
|
||||
private ClientSessionManager clientSessionManager;
|
||||
|
||||
public ListProtocol() {
|
||||
public ClientListProtocol() {
|
||||
super(PID, "终端列表信令");
|
||||
}
|
||||
|
||||
@@ -12,11 +12,11 @@ import com.acgist.taoyao.signal.protocol.ProtocolAdapter;
|
||||
* @author acgist
|
||||
*/
|
||||
@Component
|
||||
public class OfflineProtocol extends ProtocolAdapter {
|
||||
public class ClientOfflineProtocol extends ProtocolAdapter {
|
||||
|
||||
public static final Integer PID = 2003;
|
||||
|
||||
public OfflineProtocol() {
|
||||
public ClientOfflineProtocol() {
|
||||
super(PID, "终端下线信令");
|
||||
}
|
||||
|
||||
@@ -12,11 +12,11 @@ import com.acgist.taoyao.signal.protocol.ProtocolAdapter;
|
||||
* @author acgist
|
||||
*/
|
||||
@Component
|
||||
public class OnlineProtocol extends ProtocolAdapter {
|
||||
public class ClientOnlineProtocol extends ProtocolAdapter {
|
||||
|
||||
public static final Integer PID = 2002;
|
||||
|
||||
public OnlineProtocol() {
|
||||
public ClientOnlineProtocol() {
|
||||
super(PID, "上线信令");
|
||||
}
|
||||
|
||||
@@ -19,14 +19,14 @@ import com.acgist.taoyao.signal.protocol.ProtocolMapAdapter;
|
||||
* @author acgist
|
||||
*/
|
||||
@Component
|
||||
public class RegisterProtocol extends ProtocolMapAdapter {
|
||||
public class ClientRegisterProtocol extends ProtocolMapAdapter {
|
||||
|
||||
public static final Integer PID = 2000;
|
||||
|
||||
@Autowired
|
||||
private SecurityProperties securityProperties;
|
||||
|
||||
public RegisterProtocol() {
|
||||
public ClientRegisterProtocol() {
|
||||
super(PID, "注册信令");
|
||||
}
|
||||
|
||||
@@ -11,23 +11,20 @@ import com.acgist.taoyao.signal.client.ClientSession;
|
||||
import com.acgist.taoyao.signal.client.ClientSessionManager;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolMapAdapter;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 终端状态信令
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class StatusProtocol extends ProtocolMapAdapter {
|
||||
public class ClientStatusProtocol extends ProtocolMapAdapter {
|
||||
|
||||
public static final Integer PID = 2007;
|
||||
public static final Integer PID = 2998;
|
||||
|
||||
@Autowired
|
||||
private ClientSessionManager clientSessionManager;
|
||||
|
||||
public StatusProtocol() {
|
||||
public ClientStatusProtocol() {
|
||||
super(PID, "终端状态信令");
|
||||
}
|
||||
|
||||
@@ -38,13 +35,8 @@ public class StatusProtocol extends ProtocolMapAdapter {
|
||||
if(StringUtils.isEmpty(querySn)) {
|
||||
querySn = sn;
|
||||
}
|
||||
final ClientSession clientSession = this.clientSessionManager.session(querySn);
|
||||
if(clientSession != null) {
|
||||
message.setBody(clientSession.status());
|
||||
session.push(message);
|
||||
} else {
|
||||
log.warn("终端无效:{}", querySn);
|
||||
}
|
||||
message.setBody(this.clientSessionManager.status(querySn));
|
||||
session.push(message);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,14 +20,14 @@ import lombok.extern.slf4j.Slf4j;
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class UnicastProtocol extends ProtocolMapAdapter {
|
||||
public class ClientUnicastProtocol extends ProtocolMapAdapter {
|
||||
|
||||
public static final Integer PID = 2008;
|
||||
public static final Integer PID = 2006;
|
||||
|
||||
@Autowired
|
||||
private ClientSessionManager clientSessionManager;
|
||||
|
||||
public UnicastProtocol() {
|
||||
public ClientUnicastProtocol() {
|
||||
super(PID, "单播信令");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveClientListProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveCloseProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveListProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveRegisterProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveStatusProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
public class MediaPauseProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
public class MediaPublishProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
public class MediaResumeProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
public class MediaStartRecordProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
public class MediaStopRecordProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
public class MediaSubscribeProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
public class MediaUnpublishProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
public class MediaUnsubscribeProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingClientListProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingCloseProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingEnterProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingExpelProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingInviteProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingLeaveProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingListProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingRegisterProtocol {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.acgist.taoyao.signal.protocol.meeting;
|
||||
|
||||
public class MeetingStatusProtocol {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user