亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

能否舉例說明如何使用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
山东| 雅江县| 百色市| 进贤县| 湄潭县| 临夏市| 岚皋县| 蒙山县| 濮阳县| 洪洞县| 安塞县| 波密县| 谷城县| 隆化县| 永平县| 宁武县| 邵阳市| 奇台县| 绥芬河市| 定结县| 宜春市| 岑溪市| 乌鲁木齐市| 垦利县| 阿坝县| 海南省| 留坝县| 筠连县| 惠东县| 古浪县| 凤山县| 全椒县| 克什克腾旗| 岢岚县| 武功县| 象州县| 五寨县| 和政县| 齐河县| 霍林郭勒市| 紫阳县|