要向特定客户端发送消息,首先需要指定连接的ID。可以创建一个方法,该方法将获取连接的ID并将消息发送到该特定客户端:
public class MyHub : Hub
{
public void SendMessageToClient(string connectionId, string message)
{
Clients.Client(connectionId).sendMessage(message);
}
}
然后,将调用此方法以向特定客户端发送消息:
var hubContext = GlobalHost.ConnectionManager.GetHubContext();
string connectionId = "xxxxxx";
hubContext.Clients.Client(connectionId).sendMessage("Hello, client!");
注意,"xxxxxx"应为特定客户端的连接ID,可以在Hub代码中的方法中获取它,或通过 JavaScript client-side代码获取它:
//client-side code
var connection = $.hubConnection();
var hubProxy = connection.createHubProxy('MyHub');
connection.start().done(function () {
hubProxy.invoke('SendMessage');
});
hubProxy.on("sendMessage", function (message) {
console.log(message);
});
确保您有访问连接ID的方法,以便在需要时将消息发送到特定客户端。