namespace XFEExtension.NetCore.CyberComm.XCCNetWork;
///
/// XCC网络通讯
///
public class XCCNetWork
{
private readonly XCCNetWorkBase xCCNetWorkBase;
///
/// XCC当前群组
///
public List Groups { get; set; }
///
/// 明文消息接收时触发
///
public event EventHandler TextMessageReceived
{
add
{
xCCNetWorkBase.textMessageReceived += value;
}
remove
{
xCCNetWorkBase.textMessageReceived -= value;
}
}
///
/// 二进制消息接收时触发
///
public event EventHandler BinaryMessageReceived
{
add
{
xCCNetWorkBase.binaryMessageReceived += value;
}
remove
{
xCCNetWorkBase.binaryMessageReceived -= value;
}
}
///
/// 异常消息接收时触发
///
public event EventHandler ExceptionMessageReceived
{
add
{
xCCNetWorkBase.exceptionMessageReceived += value;
}
remove
{
xCCNetWorkBase.exceptionMessageReceived -= value;
}
}
///
/// 连接关闭时触发
///
public event EventHandler ConnectionClosed
{
add
{
xCCNetWorkBase.connectionClosed += value;
}
remove
{
xCCNetWorkBase.connectionClosed -= value;
}
}
///
/// 连接成功时触发
///
public event EventHandler Connected
{
add
{
xCCNetWorkBase.connected += value;
}
remove
{
xCCNetWorkBase.connected -= value;
}
}
///
/// 创建XCC群组会话
///
/// 群组名称
/// 发送者
///
public XCCGroup CreateGroup(string groupId, string sender)
{
var group = new XCCGroupImpl(Guid.NewGuid().ToString(), groupId, sender, xCCNetWorkBase);
Groups.Add(group);
return group;
}
///
/// XCC网络通信会话
///
public XCCNetWork()
{
xCCNetWorkBase = new XCCNetWorkBase();
Groups = [];
}
}