0

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

这是代码:

$(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);
}}
4

1 回答 1

1

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

在客户端:

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

在服务器上:

Clients.Group(discussionId).addMessage(message, discussionId);
于 2013-06-07T19:14:12.523 回答