[*] 日常优化

This commit is contained in:
acgist
2023-08-16 07:53:05 +08:00
parent b31398ff1d
commit 77e244a512
8 changed files with 171 additions and 129 deletions

View File

@@ -2524,6 +2524,20 @@ class Taoyao extends RemoteClient {
return response.body; return response.body;
} }
/**
* 房间状态信令
*
* @param {*} roomId 房间ID
*
* @returns 房间状态
*/
async roomStatus(roomId) {
const response = await this.request(protocol.buildMessage("room::status", {
roomId: roomId || this.roomId
}));
return response.body;
}
/** /**
* 生产媒体 * 生产媒体
* *
@@ -3072,13 +3086,11 @@ class Taoyao extends RemoteClient {
await me.buildPeerConnection(session, sessionId); await me.buildPeerConnection(session, sessionId);
session.peerConnection.createOffer().then(async (description) => { session.peerConnection.createOffer().then(async (description) => {
await session.peerConnection.setLocalDescription(description); await session.peerConnection.setLocalDescription(description);
me.push( me.push(protocol.buildMessage("session::exchange", {
protocol.buildMessage("session::exchange", {
sdp : description.sdp, sdp : description.sdp,
type : description.type, type : description.type,
sessionId: sessionId sessionId: sessionId
}) }));
);
}); });
} }
@@ -3126,13 +3138,11 @@ class Taoyao extends RemoteClient {
await session.peerConnection.setRemoteDescription(new RTCSessionDescription(message.body)); await session.peerConnection.setRemoteDescription(new RTCSessionDescription(message.body));
session.peerConnection.createAnswer().then(async description => { session.peerConnection.createAnswer().then(async description => {
await session.peerConnection.setLocalDescription(description); await session.peerConnection.setLocalDescription(description);
me.push( me.push(protocol.buildMessage("session::exchange", {
protocol.buildMessage("session::exchange", {
sdp : description.sdp, sdp : description.sdp,
type : description.type, type : description.type,
sessionId: sessionId sessionId: sessionId
}) }));
);
}); });
} else if (type === "answer") { } else if (type === "answer") {
await session.peerConnection.setRemoteDescription(new RTCSessionDescription(message.body)); await session.peerConnection.setRemoteDescription(new RTCSessionDescription(message.body));
@@ -3215,6 +3225,33 @@ class Taoyao extends RemoteClient {
} }
} }
/**
* 系统信息信令
*
* @returns 系统信息
*/
async systemInfo() {
return await this.request(protocol.buildMessage("system::info", {}));
}
/**
* 重启系统信令
*
* @returns 重启系统
*/
async systemReboot() {
return await this.request(protocol.buildMessage("system::reboot", {}));
}
/**
* 关闭系统信令
*
* @returns 关闭系统
*/
async systemShutdown() {
return await this.request(protocol.buildMessage("system::shutdown", {}));
}
/** /**
* @param {*} session 会话 * @param {*} session 会话
* @param {*} sessionId 会话ID * @param {*} sessionId 会话ID
@@ -3250,13 +3287,11 @@ class Taoyao extends RemoteClient {
}; };
peerConnection.onicecandidate = event => { peerConnection.onicecandidate = event => {
console.debug("会话媒体协商", event); console.debug("会话媒体协商", event);
me.push( me.push(protocol.buildMessage("session::exchange", {
protocol.buildMessage("session::exchange", {
type : "candidate", type : "candidate",
sessionId : sessionId, sessionId : sessionId,
candidate : event.candidate candidate : event.candidate
}) }));
);
}; };
peerConnection.onnegotiationneeded = event => { peerConnection.onnegotiationneeded = event => {
console.debug("会话媒体重新协商", event); console.debug("会话媒体重新协商", event);

View File

@@ -28,11 +28,13 @@ import lombok.extern.slf4j.Slf4j;
"audio" : 是否需要声音true|false "audio" : 是否需要声音true|false
"video" : 是否需要视频true|false "video" : 是否需要视频true|false
} }
""", {
flow = { "name" : "终端名称",
"终端->信令服务->终端", "clientId" : "终端ID",
"终端=>信令服务->终端" "sessionId": "会话ID"
} }
""",
flow = "终端=>信令服务->终端"
) )
public class SessionCallProtocol extends ProtocolSessionAdapter { public class SessionCallProtocol extends ProtocolSessionAdapter {

View File

@@ -23,9 +23,10 @@ import com.acgist.taoyao.signal.protocol.ProtocolSessionAdapter;
@Description( @Description(
body = """ body = """
{ {
"sessionId": "会话ID"
} }
""", """,
flow = "终端->信令服务+)终端" flow = "终端->信令服务->终端"
) )
public class SessionCloseProtocol extends ProtocolSessionAdapter implements ApplicationListener<SessionCloseEvent> { public class SessionCloseProtocol extends ProtocolSessionAdapter implements ApplicationListener<SessionCloseEvent> {

View File

@@ -45,7 +45,8 @@ import lombok.Setter;
"javaVersion" : "虚拟机版本", "javaVersion" : "虚拟机版本",
"cpuProcessors": CPU核心数量 "cpuProcessors": CPU核心数量
} }
""" """,
flow = "终端=>信令服务"
) )
public class SystemInfoProtocol extends ProtocolClientAdapter { public class SystemInfoProtocol extends ProtocolClientAdapter {
@@ -82,7 +83,8 @@ public class SystemInfoProtocol extends ProtocolClientAdapter {
info.put("javaVersion", System.getProperty("java.version")); info.put("javaVersion", System.getProperty("java.version"));
info.put("cpuProcessors", runtime.availableProcessors()); info.put("cpuProcessors", runtime.availableProcessors());
// 响应 // 响应
client.push(this.build(info)); message.setBody(info);
client.push(message);
}; };
@Getter @Getter

View File

@@ -21,7 +21,8 @@ import lombok.extern.slf4j.Slf4j;
@Description( @Description(
flow = { flow = {
"信令服务+)终端", "信令服务+)终端",
"终端->信令服务+)终端" "终端->信令服务+)终端",
"终端=>信令服务+)终端"
} }
) )
public class SystemRebootProtocol extends ProtocolClientAdapter { public class SystemRebootProtocol extends ProtocolClientAdapter {

View File

@@ -21,7 +21,8 @@ import lombok.extern.slf4j.Slf4j;
@Description( @Description(
flow = { flow = {
"信令服务+)终端", "信令服务+)终端",
"终端->信令服务+)终端" "终端->信令服务+)终端",
"终端=>信令服务+)终端"
} }
) )
public class SystemShutdownProtocol extends ProtocolClientAdapter { public class SystemShutdownProtocol extends ProtocolClientAdapter {