signalr实现私聊
时间: 2023-02-20 17:02:06 浏览: 54
要实现私聊功能,可以使用 SignalR 框架。
首先,你需要在服务端创建一个 SignalR hub,并为每个用户分配一个唯一的连接 ID。然后,你可以为每个用户创建一个私有的通道,并使用连接 ID 来标识每个通道。
在客户端,你可以使用 SignalR JavaScript 库来连接到服务端 hub,并使用连接 ID 来加入私有的通道。之后,你就可以使用这个通道来发送消息给另一个客户端了。
下面是一个简单的服务端代码示例:
```
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.User(user).SendAsync("ReceiveMessage", message);
}
}
```
下面是一个简单的客户端代码示例:
```
const connection = new signalR.HubConnectionBuilder()
.withUrl("/chatHub")
.build();
connection.start().catch(err => console.error(err.toString()));
connection.on("ReceiveMessage", (message) => {
console.log(message);
});
connection.invoke("SendMessage", "user1", "hello").catch(err => console.error(err.toString()));
```
希望这些信息能帮到你!