状态监听器使用Web套接字

时间:2016-01-25 08:04:12

标签: c# websocket

我的任务是创建一个Web套接字服务器,供用户互相聆听。状态。

这有点简单,但我还没有找到任何有用的方法来实现这一点,所以希望有人可以帮助我。我特别不想使用SignalR等,我的目的是看看是否可以尽可能简单地使用c#native工具。

在我的用例中,我有团队,有两种类型的成员,所以我的数据模型可能是这样的:

public class Team
{
    public int id;
    public string name;
}

public class TeamMember
{
    public int id;
    public int teamId;
    public string name;
    public MemberType type;
}

public enum MemberType
{
    Normal,
    Listener,
}

听众成员应该从其团队中的每个普通成员接收状态更新。

我发现的唯一一个工作示例就是简单的echo服务器,就像Paul Batum的例子:http://paulbatum.github.io/WebSocket-Samples/AspNetWebSocketEcho/

有没有办法将代码增强到向完全不同的侦听套接字发送消息,而不是示例中的相同内容?具体来说,对同一团队的那些听众用户?

1 个答案:

答案 0 :(得分:0)

听起来你想使用Observer / Observables模式。这通常是通过发布/订阅系统实现的。您需要创建数据结构来处理线程安全的订阅列表(添加/删除),重试和失败恢复机制(分布式计算101),传入数据的队列机制等等...等等工作比你想象的要好。

编写任何程序的第一个经验法则:在继续实施之前查看存在的内容。

ActiveMQ,IBM MQ / MQ-Lite,Kaazing(我为之工作),许多MQTT / WS实现......已经有大量的OSS东西可供使用。