我正在尝试在我的 signleR 应用程序中获取连接的用户 ID,但我没有设法找到它。有什么办法可以得到它,因为我希望当两个用户聊天时,只有他们两个会收到彼此的消息,而不是他们连接到的整个组,或者连接到 signleR 集线器的所有客户端。我的主要目标是在两个连接的客户端之间发送私人消息。
我的代码非常复杂,但我发现的只是如何将我的消息广播给所有客户或特定组,但我无法发送私人消息。我这样做是为了发送用户输入消息:
public void UserTyping(string msg, int ToClient) { // display User is Typing Msg
Clients.Others.OtherUserIsTyping(msg, ToClient);
}
客户端:
var keyPressCount = 0;
$("#<%=MsgToSend.ClientID %>").keypress(function () {
// Throttle the server call with some logic
// Don't want to call the server on every keypress
var ToClientID = $("#ToClientID").val();
if (keyPressCount++ % 10 == 0) {
chat.server.userTyping("Is typing...", ToClientID); // call the server side function
}
});
chat.client.OtherUserIsTyping = function (msg, ToClient) { // declare the function on the chat hub so the server can invoke it
$("#UserTyping").html(msg);
}