[*] 日常优化
This commit is contained in:
@@ -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);
|
||||
// 进入房间事件
|
||||
|
||||
@@ -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 = {
|
||||
"终端->信令服务-)终端",
|
||||
"终端-[关闭终端]>信令服务-)终端",
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user