私はsignalRで.net webアプリケーションを作成しています。私の要件は、クライアントがホスティングを開始するときに、サーバーが自動的に現在の時刻値をクライアントに再帰的にいくつかの時間遅延でプッシュすることです。私はcode.ButシグナルRを自動的にクライアントにメッセージを送信できませんでしたか?SignalR:signalrの中で自動的にサーバーからクライアントに内容をプッシュしますか?
私は、signalRはクライアントからの入力を必要とすると考えました。私はsignalrがクライアントからの入力をhub.is経由で期待しているたびにクライアントがサーバーに自動的に呼び出すことを知っていましたか?
ところで、私はcode.isを書きましたか?
これは私のHUBである: -
public class timeHub : Hub
{
public void Send()
{
while(true)
{
var current = DateTime.Now.ToString("HH:mm:ss:tt");
Clients.All.broadcastMessage(current);
Console.WriteLine(current);
Console.ReadLine();
System.Threading.Thread.Sleep(5000);
}
}
}
マイOwin起動クラス: - javascriptのコード
[assembly: OwinStartup(typeof(Time.Startup))]
namespace Time
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
私のクライアント側は、次のとおりです。 -
<div class="container">
</div>
<script src="Scripts/jquery-1.6.4.min.js"></script>
<script src="Scripts/jquery.signalR-2.2.1.min.js"></script>
<script src="signalr/hubs"></script>
<script type="text/javascript">
$(function() {
var chat = $.connection.timeHub;
chat.client.broadcastMessage = function (current) {
var now = current;
console.log(current);
$('div.container').append('<p><strong>'
+ now + '</strong></p>');
};
$.connection.hub.start().done(function() {
chat.server.send();
});
});
</script>
私がプッシュするにはどうすればよいですサーバーからクライアントへ自動的に、クライアントがsignalrで呼び出さなくてもいいですか?
誰でも私にこの問題を解決するソリューションを提供できますか? ()メソッドを送信:私は何を見ていることは、あなたのコードである
おかげでMonza.afterメソッドがクリケットに追加されました。自動的にサーバーの応答を得ることはできません。 – creator
$。connection.hub.start()。done(function(){ chat.server.send(); }); – creator