使用SignalR时跟踪用户操作

问题描述:

我正在使用SignalR库创建聊天室,但现在我想跟踪用户操作,例如客户端1正在与客户端2交谈时我想显示(...)以告诉客户端2,客户端1正在写消息是他们无论如何要做到这一点?使用SignalR时跟踪用户操作

您可以处理KeyPress事件,并且每隔10个字符就可以处理一次,您可以调用服务器端消息来通知“UserTyping”操作。

客户端

<textbox id="message"></textbox> 
<span id="userTyping"></span> 

var keyPressCount = 0; 

$("#message").on("keypress", function() { 
    // Throttle the server call with some logic 
    // Don't want to call the server on every keypress 
    if (keyPressCount++ % 10 == 0) { 
     chatHub.server.userTyping("myChatGroup"); 
    } 
}); 

chatHub.client.OtherUserIsTyping = function (userName) { 
    $("#userTyping").html(userName + " is typing..."); 
}; 

服务器端

public void UserTyping(groupName) 
{ 
    var userName = "Get current user's name"; 

    Clients.OthersInGroup(groupName).OtherUserIsTyping(userName); 
} 
+0

感谢你为这个伟大的回复+1 – Sora 2013-02-28 19:50:56