Member 14769019 Ответов: 0

Как я могу построить систему приватного чата с помощью signalr in ASP.NET сердечник


Я искал и пробовал много способов, но не мог. В интернете есть информация о групповом чате, но нет информации о приватном чате. каким путем я должен следовать? Можете ли вы поделиться статьей или советом по этому поводу? Это последний этап моего проекта. Пожалуйста.

public void Send(string user, string content, string recipientId,string image)
{
    var sender = _userService.GetByUserName(Context.User.Identity.Name);
    Message message = new Message
    {
        Content = content,
        RecipientId = recipientId,
        SenderId = sender.Id
    };
    _db.Message.Add(message);
    _db.SaveChange();
    Clients.Users(recipientId, sender.Id).SendAsync("ReceiveMessage", user, content, image);
}


<pre>"use strict";

var connection = new signalR.HubConnectionBuilder().withUrl("/chatHub").build();



connection.on("ReceiveMessage", function (user, content,image) {
 
    var d = new Date();
    var date = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
    var msg = content;
    var kullanici = user;
    var img = new Image();
    img.src =image;

    document.querySelector("#messageList").innerHTML += "<li class='left clearfix'>" +
        "<span class='chat-img pull-left'>"
        + "<img src='"+ img.src + "' width='50' height='50'/>" +
        "</span>" +
        "<div class='chat-body clearfix' style='color: white'>" +
        " <div class='header'>" +
        "" style="color: rgba(0, 0, 255, 1)">" + kullanici + "" + "<small class='pull-right text-muted'>" +
        "<span class='glyphicon glyphicon - time'>" + "</span>" + date +
        " </small >" +
        "</div >" +
        " <p style='color:white'>" +
        msg +
        "</p >" +
        "</div >" +
        " </li >";

});

connection.start().then(function () {
    document.querySelector("#sendButton").disabled = false;
}).catch(function (err) {
    return console.error(err.toString());
});

document.querySelector("#sendButton").addEventListener("click", function (event) {
    var user = document.querySelector("#userInput").value;
    var content = document.querySelector("#messageInput").value;
    var recipientId = document.querySelector("#recipient").value;
    var image = document.querySelector("#userImage1").src;
    
    connection.invoke("Send", user, content, recipientId,image).catch(function (err) {
        return console.error(err.toString());
    });
    event.preventDefault();
});


Что я уже пробовал:

Я искал и пробовал много способов, но не мог.

F-ES Sitecore

Самая трудная часть создания онлайн-чата-это управление сообщениями и т. д. Если вы нашли "групповой чат", то все, что вам нужно сделать, это изменить код, чтобы ограничить тех, кто может присоединиться к чату, особенно если код уже охватывает несколько чатов.

Member 14769019

Я хочу уплаодить фотографии. А Я Могу?

MadMyche

Не фотографии, но вы можете опубликовать их подходящий этот код у вас есть

Member 14769019

Но я не могу сказать по-другому.
Это шаг 1: https://www.imageupload.net/image/pjrPZ

это шаг 2: https://www.imageupload.net/image/pjzVb

Member 14769019

И я буду знать свой код.

ZurdoDev

Делай то, что было сказано первым. Просто настройте его так, чтобы вместо группы он был частным.

0 Ответов