【问题标题】:How can I get the group identifier from .client.addMessage如何从 .client.addMessage 获取组标识符
【发布时间】:2013-06-07 19:11:47
【问题描述】:

我需要在函数回调中获取组标识符和消息。有可能吗?

代码如下:

$(function () {
    // Proxy created on the fly          
    var chat = $.connection.discussion;
    var discussionId = Math.floor(Math.random() * 2);
    alert(discussionId);
    var discussionId2 = Math.floor(Math.random() * 2);
    alert(discussionId2);
    $.connection.hub.start(function () {
        chat.server.join(discussionId);
        chat.server.join(discussionId2);
    });

    // Declare a function on the chat hub so the server can invoke it          
    chat.client.addMessage = function (message) {
        $('#messages').append('<li>' + message + '</li>');
    };

    // Start the connection
    $.connection.hub.start().done(function () {
        $("#broadcast").click(function () {
            // Call the chat method on the server
            var discussionIdX = Math.floor(Math.random() * 2);
            alert(discussionIdX);
            chat.server.send(discussionIdX, $('#msg').val());
        });
    });
});

这只是一个例子。基本上我将用户添加到 2 个随机组,然后我需要组标识符将消息附加到正确的 div。

已编辑:

    public class Discussion : Hub{
public void Send(string discussionId, string message)
{
    Clients.Group(discussionId).addMessage(message);
}

public void Join(string discussionId)
{
    Groups.Add(Context.ConnectionId, discussionId);
}}

【问题讨论】:

  • 请包含一些调用addMessage的服务器端代码。
  • 我用服务器代码更新了帖子。

标签: c# asp.net real-time signalr


【解决方案1】:

将组作为参数从服务器传递。

在客户端:

chat.client.addMessage = function (message, group) { ... }

在服务器上:

Clients.Group(discussionId).addMessage(message, discussionId);

【讨论】:

  • 但是怎么做呢?我用服务器代码更新了帖子!如何将我在服务器上创建的函数设置为回调?
猜你喜欢
  • 2011-02-12
  • 2012-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多