3
Я хочу отправить какой-то таймер на сервер всем подключенным клиентам. Я смог сделать это при нажатии кнопки. Но мне действительно нужно отправить этот таймер каждую секунду автоматически.Отправить сообщение каждую секунду клиентам, использующим signalR с C#
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Signalr Chat Messenger</title>
<script src="Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.signalR-1.0.0-rc1.js" type="text/javascript"></script>
<script src="signalr/hubs" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<script type="text/javascript">
$(function() {
var IWannaChat = $.connection.myChatHub;
IWannaChat.client.addMessage = function (message) {
$('#listMessages').append('<li>' + message + '</li>');
};
IWannaChat.client.addTest = function (timer) {
$('#lblTimer').text(timer);
};
$("#SendMessage").click(function() {
IWannaChat.server.send($('#txtMessage').val());
});
$.connection.hub.start();
});
</script>
<div>
<input type="text" id="txtMessage" />
<input type="button" id="SendMessage" value="broadcast" /><asp:Label ID="lblTimer" runat="server" Text="timer"></asp:Label>
<ul id="listMessages">
</ul>
</div>
</form>
</body>
</html>
и это мой HUB
using System;
using Microsoft.AspNet.SignalR.Hubs;
using System.Threading;
namespace SignalRChat
{
[HubName("myChatHub")]
public class LetsChat : Hub
{
DateTime dateTime2 = DateTime.Now;
string dateTime1 = "11.04.2016 15:49:00";
public void send(string message)
{
//Thread.Sleep(1000);
var diffInSeconds = (Convert.ToDateTime(dateTime1) - dateTime2).TotalSeconds;
Clients.All.addMessage(message);
Clients.All.addTest(diffInSeconds.ToString());
//Clients.All.addTest(dateTime1.ToString());
}
}
}
Спасибо. попробовал ваш код, но он не работает. может, ты что-то забыл? – Barlet
, чтобы быть более ясным, я получаю следующую ошибку в строке: send («Сообщение»); Ссылка на объект требуется для нестатического поля, метода или свойства – Barlet
. вам нужно будет получить концентратор внутри прошедшего метода, поскольку он является статичным. – Nitin