Chathub - бесплатный сайт для общения с людьми со всего мира!
Chathub - это класс, который поставляется в комплекте с библиотекой SignalR, которая предоставляет разработчикам возможность создания веб-приложений в режиме реального времени. Chathub представляет собой точку входа для клиентских приложений, чтобы они могли подключаться к серверу SignalR и получать и отправлять сообщения в режиме реального времени.
Пример использования Chathub:
public class ChatHub : Hub
{
public void SendMessage(string username, string message)
{
// Отправляем сообщение всем подключенным клиентам
Clients.All.SendAsync("ReceiveMessage", username, message);
}
}
Здесь мы создали класс ChatHub, который наследуется от класса Hub, который определен в пространстве имен Microsoft.AspNetCore.SignalR. Метод SendMessage () определяет параметры username и message, которые представляют имя отправителя и сообщение, которое должно быть отправлено. Мы используем метод SendAsync () для отправки сообщения клиентам, которые подключены к серверу SignalR.
Клиентский код, который подключается к нашему серверу SignalR, должен использовать метод Connection.on (), чтобы подписаться на метод ReceiveMessage (). Например:
const connection = new signalR.HubConnectionBuilder()
.withUrl("/chat")
.build();
connection.start().then(function () {
connection.invoke("SendMessage", "User1", "Hello, World!").catch(function (err) {
return console.error(err.toString());
});
}).catch(function (err) {
return console.error(err.toString());
});
connection.on("ReceiveMessage", function (user, message) {
const msg = user + " says " + message;
alert(msg);
});
Здесь мы создали объект connection, который подключается к серверу, используя URL /chat. Метод invoke () служит для вызова метода SendMessage () на сервере, чтобы отправить сообщение всем клиентам. Мы используем метод on () для подписки на событие ReceiveMessage (), которое отправляется сервером SignalR, когда новое сообщение было отправлено на сервер.
Таким образом, Chathub предоставляет мощный инструмент для создания реального времени приложений на базе SignalR. С его помощью вы можете легко отправлять и получать сообщения в режиме реального времени при помощи различных платформ и технологий.