42 lines
1.0 KiB
C#
42 lines
1.0 KiB
C#
using System;
|
|
|
|
public class SignalingMessage
|
|
{
|
|
public readonly SignalingMessageType Type;
|
|
public readonly string ChannelId;
|
|
public readonly string Message;
|
|
|
|
public SignalingMessage(string messageString)
|
|
{
|
|
var messageArray = messageString.Split("!");
|
|
|
|
if (messageArray.Length < 3)
|
|
{
|
|
Type = SignalingMessageType.OTHER;
|
|
ChannelId = "";
|
|
Message = messageString;
|
|
}
|
|
else if (Enum.TryParse(messageArray[0], out SignalingMessageType resultType))
|
|
{
|
|
switch (resultType)
|
|
{
|
|
case SignalingMessageType.OFFER:
|
|
case SignalingMessageType.ANSWER:
|
|
case SignalingMessageType.CANDIDATE:
|
|
Type = resultType;
|
|
ChannelId = messageArray[1];
|
|
Message = messageArray[2];
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public enum SignalingMessageType
|
|
{
|
|
OFFER, ANSWER, CANDIDATE, OTHER
|
|
}
|
|
|