BroadcastService的测试用例

程序运行起来之后,需要用多个telnet客户端来进行测试

连接的命令为conn deviceNumber

广播命令为broa message

需要注意的是:示例代码有bug,

broadcastDict本身的存储是CXXX和设备集合的对应
 broadcastDict["C001"] = new List<string> { "V001" };
                broadcastDict["C002"] = new List<string> { "V001", "V002" };
                broadcastDict["C003"] = new List<string> { "V002" };
但是后面使用的时候,里面作为判断使用的是session.DeviceNumber
 lock (broadcastSyncRoot)
            {
                //key: 要获取的值的键。
                //value:当此方法返回值时,如果找到该键,便会返回与指定的键相关联的值;
                //否则,则会返回 value 参数的类型默认值。该参数未经初始化即被传递。
                bool flag = broadcastDict.TryGetValue(session.DeviceNumber, out targetDeviceNumbers);
                if (flag == false)
                {
                    return;
                }
            }

提交了一个issue给作者

https://github.com/kerryjiang/SuperSocket/issues/25

不过按照作者的答复来看,貌似都不是问题,只是用来展示消息局部广播

原文地址:https://www.cnblogs.com/chucklu/p/4340880.html