代码之家  ›  专栏  ›  技术社区  ›  Sam

使用SignalR Core向组发送消息

  •  1
  • Sam  · 技术社区  · 7 年前

    这是我第一次实现 SignalR 我从 SignalR Core 因此,一些示例和文档似乎不适用于新版本。

    我的目标是将收到的消息发送到特定的聊天室。我知道这可以通过使用 Groups .

    第一个问题:我没有找到一种方法来检查一个组中是否已经存在连接。我不需要检查连接是否已经在 Group ? 我收到一份 ChatRoomId . 我只是想知道我是否需要检查连接是否已经是组的成员。

    第二个问题:我想排除发送者接收他自己消息的广播。看起来像 OthersInGroup 已从中删除 信号机核心 . 如果我将邮件发送给 ?

    以下是我从IntelliSense获得的选项:

    enter image description here

    2 回复  |  直到 7 年前
        1
  •  2
  •   Bernardo Gonzalez    7 年前

    关于第二个问题: GroupExcept方法在信号器alpha上不可用。 你需要预览。 您可以在PM上添加它: dotnet add PROJECTNAME包Microsoft。AspNetCore。信号器——版本2.1.0-preview1-27884——源 https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json

        2
  •  1
  •   Brennan    7 年前

    对于第一个问题:

    没有内置的方法来检查连接是否在组中。这取决于您通过向中心注入服务或静态字典之类的方式来处理。所以每次你打电话 Groups.AddAsync Groups.RemoveAsync 你可以记录下来。

    关于第二个问题:

    GroupExcept(string groupName, IReadOnlyList<string> excludeIds) 是最近添加的,应该正是您想要的。