中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

能否舉例說明如何使用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
铜梁县| 铁岭县| 大兴区| 江西省| 霍林郭勒市| 青岛市| 合肥市| 丹巴县| 博客| 东光县| 砚山县| 沛县| 平顶山市| 嘉兴市| 吉首市| 怀远县| 辰溪县| 平邑县| 尚义县| 秦安县| 新蔡县| 乐陵市| 科技| 延长县| 浦江县| 广平县| 修水县| 依兰县| 项城市| 东海县| 涪陵区| 张家港市| 平陆县| 寿宁县| 江津市| 莎车县| 正镶白旗| 庆云县| 无棣县| 枣阳市| 霍城县|