[*] 日常优化

This commit is contained in:
acgist
2023-08-28 07:52:17 +08:00
parent be691965a6
commit 9d2c183fcc
9 changed files with 170 additions and 134 deletions

View File

@@ -56,7 +56,7 @@ public class RoomEnterProtocol extends ProtocolRoomAdapter {
@Override
public boolean authenticate(Message message) {
final Map<String, Object> body = message.body();
final String roomId = MapUtils.get(body, Constant.ROOM_ID);
final String roomId = MapUtils.get(body, Constant.ROOM_ID);
final String password = MapUtils.get(body, Constant.PASSWORD);
final Room room = this.roomManager.getRoom(roomId);
if(room == null) {
@@ -84,17 +84,17 @@ public class RoomEnterProtocol extends ProtocolRoomAdapter {
}
/**
* 终端进入
* 终端进入房间
*
* @param clientId 终端ID
* @param room 房间
* @param client 终端
* @param message 消息
* @param message 信令消息
* @param body 消息主体
*/
private void enter(String clientId, Room room, Client client, Message message, Map<String, Object> body) {
final String subscribeType = MapUtils.get(body, Constant.SUBSCRIBE_TYPE);
final Object rtpCapabilities = MapUtils.get(body, Constant.RTP_CAPABILITIES);
final String subscribeType = MapUtils.get(body, Constant.SUBSCRIBE_TYPE);
final Object rtpCapabilities = MapUtils.get(body, Constant.RTP_CAPABILITIES);
final Object sctpCapabilities = MapUtils.get(body, Constant.SCTP_CAPABILITIES);
// 进入房间
final ClientWrapper clientWrapper = room.enter(client);
@@ -104,9 +104,9 @@ public class RoomEnterProtocol extends ProtocolRoomAdapter {
clientWrapper.setSctpCapabilities(sctpCapabilities);
// 发送通知
message.setBody(Map.of(
Constant.ROOM_ID, room.getRoomId(),
Constant.ROOM_ID, room.getRoomId(),
Constant.CLIENT_ID, clientId,
Constant.STATUS, client.getStatus()
Constant.STATUS, client.getStatus()
));
room.broadcast(message);
// 进入房间事件

View File

@@ -22,15 +22,19 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
*/
@Protocol
@Description(
body = """
{
"roomId": "房间ID"
}
{
"roomId" : "房间ID"
"clientId": "离开终端ID"
}
""",
body = {
"""
{
"roomId": "房间ID"
}
""",
"""
{
"roomId" : "房间ID"
"clientId": "离开终端ID"
}
"""
},
flow = {
"终端->信令服务-)终端",
"终端-[关闭终端]>信令服务-)终端",

View File

@@ -16,20 +16,24 @@ import com.acgist.taoyao.signal.protocol.ProtocolClientAdapter;
*/
@Protocol
@Description(
body = """
{
"roomId": "房间ID"
}
[
body = {
"""
{
"name" : "房间名称",
"passowrd" : "房间密码",
"clientSize" : "终端数量",
"mediaClientId": "媒体服务标识"
},
...
]
""",
"roomId": "房间ID"
}
""",
"""
[
{
"name" : "房间名称",
"passowrd" : "房间密码",
"clientSize" : "终端数量",
"mediaClientId": "媒体服务标识"
},
...
]
"""
},
flow = "终端=>信令服务"
)
public class RoomListProtocol extends ProtocolClientAdapter {

View File

@@ -17,17 +17,21 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
*/
@Protocol
@Description(
body = """
{
"roomId": "房间ID"
}
{
"name" : "房间名称",
"passowrd" : "房间密码",
"clientSize" : "终端数量",
"mediaClientId": "媒体服务标识"
}
""",
body = {
"""
{
"roomId": "房间ID"
}
""",
"""
{
"name" : "房间名称",
"passowrd" : "房间密码",
"clientSize" : "终端数量",
"mediaClientId": "媒体服务标识"
}
"""
},
flow = "终端=>信令服务"
)
public class RoomStatusProtocol extends ProtocolRoomAdapter {

View File

@@ -21,18 +21,22 @@ import com.acgist.taoyao.signal.protocol.ProtocolSessionAdapter;
*/
@Protocol
@Description(
body = """
{
"clientId": "目标ID",
"audio" : 是否需要声音true|false
"video" : 是否需要视频true|false
}
{
"name" : "终端名称",
"clientId" : "终端ID",
"sessionId": "会话ID"
}
""",
body = {
"""
{
"clientId": "目标ID",
"audio" : 是否需要声音true|false
"video" : 是否需要视频true|false
}
""",
"""
{
"name" : "终端名称",
"clientId" : "终端ID",
"sessionId": "会话ID"
}
"""
},
flow = "终端=>信令服务->终端"
)
public class SessionCallProtocol extends ProtocolSessionAdapter {

View File

@@ -23,22 +23,26 @@ import com.acgist.taoyao.signal.protocol.ProtocolSessionAdapter;
1. 交换类型大小写
2. candidate内容默认名称sdp
""",
body = """
{
"sdp" : "sdp"
"type" : "offer|answer",
"sessionId": "会话ID"
}
{
"type" : "candidate",
"sessionId": "会话ID",
"candidate": {
"sdpMid" : "sdpMid",
"candidate" : "candidate",
"sdpMLineIndex": sdpMLineIndex
body = {
"""
{
"sdp" : "sdp"
"type" : "offer|answer",
"sessionId": "会话ID"
}
}
""",
""",
"""
{
"type" : "candidate",
"sessionId": "会话ID",
"candidate": {
"sdpMid" : "sdpMid",
"candidate" : "candidate",
"sdpMLineIndex": sdpMLineIndex
}
}
"""
},
flow = "终端->信令服务->终端"
)
public class SessionExchangeProtocol extends ProtocolSessionAdapter {