0

我正在尝试在我的 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);
}
4

0 回答 0