91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

能否舉例說明如何使用SignalR實現一個實時聊天應用

小樊
84
2024-05-09 15:14:56
欄目: 編程語言

當用戶A發送消息給用戶B時,SignalR可以實現實時聊天應用。以下是一個示例:

  1. 創建一個SignalR Hub類,并在其中定義一個方法接收并轉發消息:
public class ChatHub : Hub
{
    public void SendMessage(string sender, string receiver, string message)
    {
        Clients.Group(receiver).SendAsync("ReceiveMessage", sender, message);
    }

    public override Task OnConnectedAsync()
    {
        Groups.AddToGroupAsync(Context.ConnectionId, Context.User.Identity.Name);
        return base.OnConnectedAsync();
    }
}
  1. 在前端頁面中引用SignalR庫,并連接到Hub:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/3.1.3/signalr.min.js"></script>
<script>
    var connection = new signalR.HubConnectionBuilder()
        .withUrl("/chatHub")
        .build();

    connection.start();

    connection.on("ReceiveMessage", function (sender, message) {
        // 處理接收到的消息
    });
</script>
  1. 在前端頁面中添加發送消息的功能,并調用Hub的方法:
<input type="text" id="messageInput" />
<button onclick="sendMessage()">Send</button>

<script>
    function sendMessage() {
        var sender = "UserA";
        var receiver = "UserB";
        var message = $("#messageInput").val();

        connection.invoke("SendMessage", sender, receiver, message);
    }
</script>

通過以上示例,用戶A在輸入框中輸入消息并點擊發送按鈕時,消息將通過SignalR實時傳輸到用戶B,并在用戶B的頁面上實時顯示。

0
浠水县| 张掖市| 厦门市| 黑水县| 林甸县| 嵩明县| 吴旗县| 丹阳市| 永新县| 丰都县| 都安| 泾川县| 越西县| 尚志市| 衢州市| 曲阜市| 麟游县| 万盛区| 安仁县| 扎鲁特旗| 普陀区| 富阳市| 黔西| 正安县| 福州市| 望谟县| 太湖县| 雷波县| 曲沃县| 儋州市| 辽中县| 岳阳县| 盈江县| 阳曲县| 建德市| 肇东市| 咸宁市| 中山市| 韩城市| 通海县| 桃江县|